Включает ли ссылка на универсальную статическую библиотеку (устройство / симулятор) код x86 в создаваемом двоичном файле для arm? - PullRequest
3 голосов
/ 28 февраля 2011

Я не знаком с универсальной функцией двоичного кода / библиотеки и хотел бы прояснить некоторые вопросы.

Я могу создать универсальную статическую библиотеку, содержащую оба кода устройства (arm6 / 7).и код симулятора (x86).Теперь мне не ясно, как процесс сборки решает, какой код следует использовать из универсальной библиотеки.

  1. Насколько я понимаю, xcode определяет архитектуру, на которой должен быть построен целевой объект.-sdk вариант.Так что опция -sdk не только указывает, какой sdk будет использоваться, но и к какому ISA должен компилироваться весь исходный код?

  2. Если это так, будет ли он автоматически выбирать соответствующийявляется частью универсальной библиотеки, так что если для симулятора создан только код x86, а код устройства только для устройств?

Ответы [ 2 ]

1 голос
/ 12 марта 2011

У меня нет ответов в течение десяти дней, поэтому я думаю, что вопрос слишком тривиален, чтобы привлекать внимание каждого.Хотя я не смог найти ни одного хорошего базового знания об универсальных библиотеках, ни даже официального документа от кого-либо, но я просто решил сделать простую глупую проверку размера моего двоичного файла.Я проверил размер двоичных файлов, когда связался с обычной библиотекой и универсальной библиотекой.

Результаты были одинаковыми.Таким образом, я мог бы заключить, что процесс ссылки делает правильные вещи и закрыть мой глупый вопрос =).

0 голосов
/ 17 октября 2013

Apple предоставляет программу lipo для этой цели. XCode использует его для удаления ненужных архитектур при сборке вашего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...