Доступные флаги компоновщика и его использование в iOS
Меня немного смущают флаги компоновщика, доступные на iOS.
Этот вопрос, возможно, не очень удачный, учитывая часто задаваемые вопросы, но я ничего не знаю о флагах компоновщика, и мне интересно это. Вот почему я спрашиваю это здесь.
- Какая польза от -
ObjC
флаг компоновщика? - Какая польза от
-all_load
? - Какая польза от
-force_load
?
Какие другие часто используемые флаги компоновщика доступны для iOS?
Пожалуйста, помогите мне понять использование флага компоновщика. Заранее спасибо.
1 ответ
Решение
-ObjC
flag заставляет компоновщик загружать каждый объектный файл в библиотеке, который определяет класс или категорию Objective-C. Хотя этот параметр обычно приводит к увеличению размера исполняемого файла (из-за загрузки в приложение дополнительного объектного кода), он позволяет успешно создавать эффективные статические библиотеки Objective-C, которые содержат категории в существующих классах.-all_load
flag заставляет компоновщик загружать все объектные файлы из каждого архива, который он видит, даже без кода Objective-C.-force_load
опция должна сопровождаться путем к архиву, и каждый объектный файл в этом архиве будет загружен.
для дополнительной информации вы можете прочитать этот документ
РЕДАКТИРОВАТЬ
Вы можете увидеть все флаги, поддерживаемые ld в ld ManPage в следующем документе