2014-12-08 3 views
1

У меня есть статическая библиотека, предоставленная мне, которую мне нужно использовать в приложении. Мне сказали, что он поддерживает ARM64.В чем разница между заголовками mach и заголовками жира?

Когда я перечисляю заголовки мачты с использованием otool -hV mylibrary.a, тогда я получаю только для типа ЦП.

Когда я перечисляю заголовки с использованием otool -fv mylibrary-a, тогда я получаю типы процессоров I386, x86_64, ARM, ARMv7S. ARM64.

Было мое понимание, что мне нужны заголовки для архитектур, над которыми я буду работать. Однако приложение отлично работает на 64-битном устройстве.

В чем разница между заголовками жира и заголовками машин в iOS-разработке? Является ли эта библиотека безопасной для использования в 64-битном приложении?

ответ

1

Заголовок машины и универсальный заголовок предоставляют аналогичную информацию. Они, среди прочего, идентифицируют такие вещи, как cputype и cpusubtype. Универсальный заголовок также указывает смещение/размер файла для каждой архитектуры. Я считаю, что универсальный заголовок получает информацию от заголовка mach, но я мог легко ошибаться в этом.

Если вы видите только x86_64, попробуйте otool -hv -arch all myLibrary.a

FWIW, простой способ это сделать lipo -info myLibrary.a. Если вы видите фрагмент, который вам нужен, вам должно быть хорошо идти, если сама библиотека работает правильно для этого фрагмента.

Смежные вопросы