Como os programas de apoio i386 e PPC ao mesmo tempo?
-
18-09-2019 - |
Pergunta
Eu gostaria de saber como você pode apoiar i386 e PPC arquiteturas para programas em / bin.
Eu corro por exemplo
bin $ file amber
I get
amber: setgid Mach-O universal binary with 2 architectures
amber (for architecture i386): Mach-O executable i386
amber (for architecture ppc): Mach-O executable ppc
Como os programas de apoio i386 e ppc no código fonte?
Em outras palavras, que componentes podem remover, por exemplo, em / bin / âmbar se você remover o apoio de ppc -architecture?
Solução
É chamado um Universal binário . Em suma, o executável contém os dois tipos de código executável. A Apple tem um href="http://developer.apple.com/documentation/MacOSX/Conceptual/universal_binary/universal_binary.pdf" documento publicada descrevendo como os desenvolvedores devem construir suas aplicações para executado em qualquer plataforma.
O executável lipo
pode ser usado para remover qualquer versão do executável a partir do arquivo. Se você quer que seus executáveis ??para conter apenas uma versão, você pode usar lipo
para alcançar este objectivo.
Esteja ciente de que há mais do que apenas ppc
e i386
, embora estes são os "mais seguras" arquiteturas para escolher para um binário Universal. Leia a página de manual para arch
; lá você pode ver que um binário OSX moderna é susceptível de conter qualquer um dos ppc
, ppc64
, i386
ou x86_64
. Há muitos mais na lista, mas eles existem há para ser completo.
Outras dicas
É chamado um gordura binário.
Há uma cópia do código nativo para ambas as arquiteturas do binário. O formato binário eo sistema operacional tem que apoiá-lo, para que ele possa saber onde procurar no arquivo para o código correto.