Що робить прапор зв’язку -ObjC?


136

У мене є додаток, який працює з прапором лінкера та без нього. Однак без прапора посилання я отримую зовсім іншу поведінку під час додавання даних до подання.


1
bensarz, ви маєте іншу поведінку без прапора лінкера ... Що це означає ?? Як по-різному?
Аділ Хуссей

Відповіді:


158

Цей прапор змушує лінкер завантажувати кожен об’єктний файл у бібліотеці, який визначає клас або категорію Objective-C. Хоча ця опція, як правило, призводить до більшого виконуваного файлу (за рахунок додаткового об'єктного коду, завантаженого в додаток), це дозволить успішно створити ефективні статичні бібліотеки Objective-C, що містять категорії в існуючих класах.

З цього технічного запитання


2
Чудово! Дякую. Це викликано тим, що ми використовуємо GCC 4.2 як компілятор? Чи вирішення проблеми з використанням LLVM GCC 4.2 або LLVM Compiler 2.0? Або я змішую речі, які не слід змішувати?
bsarrazin

Я думаю, що поведінка однакова з обома компіляторами (до того ж, я не знаю, чи є 2 різні лінкери) ...
sergio

4
Чи означає це, що вам ніколи не знадобиться -ObjCнічого, крім бібліотеки / SDK? Тобто вам ніколи не потрібно використовувати його в реальній цілі програми?
Роберт

2
Ні, це означає, що вам потрібно -ObjC в будь-якому проекті, що реалізує бібліотеку, яка має в ній категорію або вбудовані рамки
arc4randall

Щойно з’ясував це важкий шлях!
Олександр Г
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.