5 votes

Puis-je sélectionner l'architecture d'un programme depuis la ligne de commande ?

De nombreux programmes binaires exécutables Unix sont livrés avec plusieurs architectures :

mac:~ mike$ file `which bc`
/usr/bin/bc: Binaire universel Mach-O avec 2 architectures
/usr/bin/bc (pour l'architecture x86_64) : Exécutable 64 bits Mach-O x86_64
/usr/bin/bc (pour l'architecture i386) : Exécutable Mach-O i386

Existe-t-il un moyen de sélectionner ou de forcer une architecture spécifique à exécuter (principalement pour tester et explorer les effets que certains programmes plus importants ou des processus plus longs ont lors de l'exécution de la même charge de travail sur différentes bases de code / capacités mémoire ?)

9voto

shsteimer Points 8749

Vous pouvez utiliser le programme arch pour sélectionner l'architecture d'un binaire universel à exécuter.

Si vous voulez utiliser la version 32 bits de l'exécutable :

arch -arch i386 /usr/bin/bc

Et si vous voulez utiliser la version 64 bits de l'exécutable :

arch -arch x86_64 /usr/bin/bc

Notez que cela ne fonctionne pas avec les applications (dossiers se terminant par .app et ayant des manifestes, etc. de sorte que OS X les reconnaît comme des applications), seulement avec les binaires universels. Si vous avez une application avec plusieurs architectures, vous voudrez utiliser Launch Services pour la lancer avec une architecture spécifique.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X