Posso selezionare l'architettura di un programma dalla riga di comando?

5

Molti dei programmi binari eseguibili di unix sono forniti con più di un'architettura:

mac:~ mike$ file 'which bc'
/usr/bin/bc: Mach-O universal binary with 2 architectures
/usr/bin/bc (for architecture x86_64):  Mach-O 64-bit executable x86_64
/usr/bin/bc (for architecture i386):    Mach-O executable i386

C'è un modo per selezionare o forzare l'esecuzione di un'architettura specifica (principalmente per test per esplorare gli effetti che hanno alcuni programmi più grandi o processi più lunghi quando si esegue lo stesso carico di lavoro su diverse basi di codice / capacità di memoria?)

    
posta bmike 01.09.2011 - 17:47
fonte

1 risposta

8

Puoi utilizzare il programma arch per selezionare l'architettura di un binario universale da eseguire.

Se si desidera utilizzare la versione a 32 bit dell'eseguibile:

arch -arch i386 /usr/bin/bc

E se si desidera la versione a 64 bit dell'eseguibile:

arch -arch x86_64 /usr/bin/bc

Nota che questo non funziona con le applicazioni (le cartelle che terminano in .app e hanno manifest e che non lo sono in modo OS X le riconosce come applicazioni ), solo binari universali. Se disponi di un'app con più architetture, ti consigliamo di utilizzare i servizi di lancio per avviarla con un'architettura specifica.

    
risposta data 01.09.2011 - 18:07
fonte

Leggi altre domande sui tag