Что регистрирует PIC (%ebx) делают?

Для меня работали следующие шаги:

  1. Удалите существующее приложение, которое вы пытаетесь создать, с iPhone / iPad
  2. Синхронизируйте с iTunes
  3. Полностью убейте Xcode и iTunes
  4. Откройте Xcode и Build & amp; Выполнить
10
задан starblue 18 October 2009 в 12:19
поделиться

2 ответа

PIC - это код, который динамически перемещается при загрузке. Код, который не является PIC, имеет адреса перехода и вызова, установленные во время связывания. У PIC есть таблица, которая ссылается на все места, где существуют такие значения, во многом как .dll.

Когда изображение загружается, загрузчик динамически обновляет эти значения. Другие схемы ссылаются на значение данных, которое определяет «базу», и целевой адрес определяется путем выполнения вычислений на основе. База обычно снова устанавливается загрузчиком.

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

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

7
ответ дан 3 December 2019 в 17:21
поделиться

EBX указывает на глобальную таблицу смещения. См. эту ссылку о PIC на i386 . Ссылка объясняет, что такое PIC и как используется EBX .

16
ответ дан 3 December 2019 в 17:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: