¿Puedo seleccionar la arquitectura de un programa desde la línea de comandos?

5

Muchos de los programas binarios ejecutables de Unix se entregan con más de una arquitectura:

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

¿Hay alguna forma en que pueda seleccionar o forzar la ejecución de una arquitectura específica (principalmente para probar y explorar los efectos que tienen algunos programas más grandes o procesos de ejecución más largos al ejecutar la misma carga de trabajo en diferentes bases de códigos / capacidades de memoria?)

    
pregunta bmike 01.09.2011 - 17:47

1 respuesta

8

Puede utilizar el programa arch para seleccionar la arquitectura de un binario universal que se ejecutará.

Si desea utilizar la versión de 32 bits del ejecutable:

arch -arch i386 /usr/bin/bc

Y si desea la versión de 64 bits del ejecutable:

arch -arch x86_64 /usr/bin/bc

Tenga en cuenta que esto no funciona con las aplicaciones (carpetas que terminan en .app y tienen manifiestos y que OS X no las reconoce como aplicaciones ), solo archivos binarios universales. Si tuviera una aplicación con varias arquitecturas, desearía utilizar los Servicios de lanzamiento para iniciarla con una arquitectura específica.

    
respondido por el Ian C. 01.09.2011 - 18:07

Lea otras preguntas en las etiquetas