Come fanno i386 supporto di programmi e ppc, allo stesso tempo?
-
18-09-2019 - |
Domanda
Vorrei sapere come è possibile sostenere le architetture i386 e ppc per i programmi in / bin.
corro per esempio
bin $ file amber
ho
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
Come faccio programmi supportano i386 e ppc nel codice sorgente?
In altre parole, i componenti che si può rimuovere, per esempio, in / bin / ambra se si rimuove il supporto del ppc -Architettura?
Soluzione
Si chiama Universal Binary . In breve, l'eseguibile contiene entrambi i tipi di codice eseguibile. Apple ha un documento pubblicato che descrive come gli sviluppatori dovrebbero costruire le loro applicazioni per funzionare su entrambe le piattaforme.
L'eseguibile lipo
può essere utilizzato per rimuovere entrambe le versioni del file eseguibile dal file. Se volete che i vostri eseguibili per contenere una sola versione, è possibile utilizzare lipo
per raggiungere questo obiettivo.
Essere consapevoli del fatto che non v'è più di un semplice ppc
e i386
, anche se questi sono i più "sicure" architetture tra cui scegliere per un binario universale. Leggere la pagina di manuale di arch
; Ci si può vedere che una moderna binario OSX può contenere qualsiasi ppc
, ppc64
, i386
o x86_64
. Ci sono molti di più elencati, ma esistono lì per completezza.
Altri suggerimenti
Si chiama un grasso binario .
C'è una copia del codice nativo per entrambe le architetture del binario. Il formato binario e il sistema operativo devono sostenerlo, in modo che possa sapere dove guardare nel file per il codice corretto.