cputype
16777223 es "x86 64" (el modo de 64 bits); 7 es "i386" (modo de 32 bits). Por cierto, 16777223 == 0x1000007, así bits 24 significa "64 bits".
Buscando en /usr/include/mach/machine.h
(señalado por …/mach-o/fat.h
, que parece como un lugar razonable para empezar), encontramos las siguientes:
⋮
typedef integer_t cpu_type_t;
⋮
#define CPU_ARCH_ABI64 0x01000000 /* 64 bit ABI */
⋮
#define CPU_TYPE_X86 ((cpu_type_t) 7)
#define CPU_TYPE_I386 CPU_TYPE_X86 /* compatibility */
#define CPU_TYPE_X86_64 (CPU_TYPE_X86 | CPU_ARCH_ABI64)
⋮
#define CPU_TYPE_POWERPC ((cpu_type_t) 18)
#define CPU_TYPE_POWERPC64 (CPU_TYPE_POWERPC | CPU_ARCH_ABI64)
⋮
Por supuesto, usted puede también agregar el -v
opción otool
comando para mostrar los valores simbólicos:
% otool -vf /bin/ls
Fat headers
fat_magic FAT_MAGIC
nfat_arch 2
architecture x86_64
cputype CPU_TYPE_X86_64
cpusubtype CPU_SUBTYPE_X86_64_ALL
capabilities CPU_SUBTYPE_LIB64
offset 4096
size 39600
align 2^12 (4096)
architecture i386
cputype CPU_TYPE_I386
cpusubtype CPU_SUBTYPE_I386_ALL
capabilities 0x0
offset 45056
size 35632
align 2^12 (4096)