2011-09-19 11 views
10

Tengo una Mac con Lion y acabo de descargar la última versión de apache. que hice las cosas habituales:¿Cómo puedo verificar si un binario compilado es de 32 bits o de 64 bits?

$./configure --prefix=/Users/daniels/Sandbox 
$ make 
$ make install 

Por lo que la arquitectura se compila el binario httpd? 32 o 64? ¿Hay alguna manera de encontrar esto? Lo que estoy buscando es que quiero hacer una aplicación como MAMP y quiero compilar Apache, PHP, MySQL de tal manera que pueda ponerlos en un archivo dmg y luego dárselos a otras personas y que puedan ejecutarlo.

+0

posible duplicado de [determinar si un ejecutable (o biblioteca) es 32 o 64 bits (en OSX)] (http://stackoverflow.com/questions/1941825/determine-if-an-executable-or-library-is-32-or-64-bits -on-osx) – outis

Respuesta

18

Compruebe el comando file.

$ file /usr/bin/grep 
/usr/bin/grep: Mach-O universal binary with 2 architectures 
/usr/bin/grep (for architecture x86_64): Mach-O 64-bit executable x86_64 
/usr/bin/grep (for architecture i386): Mach-O executable i386 
0

Una manera fácil de determinar si el Apache es de 32 bits o de 64 bits es para ejecutar el siguiente en la zona global mediante el uso de dtrace:

sudo dtrace -qn 'syscall::: /execname == "httpd"/ { ab = (curpsinfo->pr_dmodel == PR_MODEL_ILP32) ? "32-bit" : "64-bit" ; exit(0); } END { printf("Apache: %s",ab); }' 
Cuestiones relacionadas