Что делает флаг компоновщика -ObjC?


136

У меня есть приложение, которое работает с и без флага компоновщика. Однако, без флага компоновщика, я получаю совсем другое поведение при добавлении данных в представление.


1
bensarz, вы получаете другое поведение без флага компоновщика ... Что это значит ?? Разные как?
Адиль Хуссейн

Ответы:


158

Этот флаг заставляет компоновщик загружать каждый объектный файл в библиотеке, который определяет класс или категорию Objective-C. Хотя этот параметр обычно приводит к увеличению размера исполняемого файла (из-за загрузки в приложение дополнительного объектного кода), он позволяет успешно создавать эффективные статические библиотеки Objective-C, которые содержат категории в существующих классах.

Из этого технического Q & A


2
Большой! Спасибо. Это связано с тем, что мы используем GCC 4.2 в качестве компилятора? Решит ли проблема использование LLVM GCC 4.2 или LLVM Compiler 2.0? Или я смешиваю вещи, которые не следует смешивать?
Бсарразин

Я думаю, что поведение одинаково с обоими компиляторами (кроме того, я не знаю, есть ли два разных компоновщика) ...
Серхио

4
Значит ли это, что вам никогда не понадобится -ObjCничего, кроме библиотеки / SDK? Т.е. вам никогда не нужно использовать его в реальных целях приложения?
Роберт

2
Нет, это означает, что вам нужен -ObjC в любом проекте, реализующем библиотеку, в которой есть категория или встроенный фреймворк
arc4randall

Просто выяснил это трудным путем!
Александр G
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.