Как узнать, для какой архитектуры создан файл *.a?

Я работаю над Mac OS 10.7.4. используя Xcode 4.3.2.

У меня был файл статической библиотеки *.a от моего партнера. Я хочу знать, для какой архитектуры он построен. Это ARMv6, ARMv7, i386 или другая архитектура?

Есть ли какая-либо команда или метод для получения информации об архитектуре файла?


person qiushuitian    schedule 17.08.2012    source источник


Ответы (2)


Вы можете использовать otool, чтобы узнать архитектуру файла: справочная страница otool

otool -hv mylibrary.a
person Community    schedule 17.08.2012

Команда Unix/Linux file сообщит вам, что это за файл:

% file a.out
a.out: Mach-O 64-bit executable x86_64
person Peter Gluck    schedule 17.08.2012
comment
Я имею в виду в основном случайно. Кроме того, его вывод не является каноническим — он может даже варьироваться от релиза к релизу (заметьте, я не говорю, что это неправильно, я просто говорю, что otool специально разработан для таких операций). - person ; 17.08.2012
comment
Пример, когда файл не печатает архитектуру. файл libnanomsg.a выводит libnanomsg.a: текущий ar архив случайной библиотеки - person neoneye; 16.05.2014
comment
У меня не печатает на OS X Maverick - person huggie; 22.02.2015