Доступные флаги компоновщика и его использование в iOS

Меня немного смущают флаги компоновщика, доступные на iOS.

Этот вопрос, возможно, не очень удачный, учитывая часто задаваемые вопросы, но я ничего не знаю о флагах компоновщика, и мне интересно это. Вот почему я спрашиваю это здесь.

  1. Какая польза от -ObjC флаг компоновщика?
  2. Какая польза от -all_load?
  3. Какая польза от -force_load?

Какие другие часто используемые флаги компоновщика доступны для iOS?

Пожалуйста, помогите мне понять использование флага компоновщика. Заранее спасибо.

1 ответ

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

для дополнительной информации вы можете прочитать этот документ

РЕДАКТИРОВАТЬ

Вы можете увидеть все флаги, поддерживаемые ld в ld ManPage в следующем документе

Другие вопросы по тегам