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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top