Мне нужно знать, скомпилировал ли libjpeg для архитектуры 32 или 64 бита, но не знаю, как узнать, есть ли команда, которая позволит мне проверить?
В OS X, как мне узнать, для какой архитектуры скомпилирована общая библиотека?
Ответ 1
просто введите file libjpeg.dylib
, и вы получите результат следующим образом
libpoll.dylib: Mach-O universal binary with 3 architectures
libpoll.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
libpoll.dylib (for architecture i386): Mach-O dynamically linked shared library i386
libpoll.dylib (for architecture ppc7400): Mach-O dynamically linked shared library ppc
Ответ 2
Команда file
будет работать нормально. Кроме того, вы можете использовать
otool
для печати заголовков жира.
$ otool -vf /usr/lib/libSystem.B.dylib
Fat headers
fat_magic FAT_MAGIC
nfat_arch 2
architecture ppc
cputype CPU_TYPE_POWERPC
cpusubtype CPU_SUBTYPE_POWERPC_ALL
offset 4096
size 2221800
align 2^12 (4096)
architecture ppc64
cputype CPU_TYPE_POWERPC64
cpusubtype CPU_SUBTYPE_POWERPC64_ALL
offset 2228224
size 2169980
align 2^12 (4096)
Ответ 3
Используйте команду file
:
[[email protected]:Xcode/FSLogger]$ file ./original (07-31 02:53)
./original: Mach-O executable i386