Статическое связывание в PE-программе windows?

Тут всё свой PE ручками пишу и наткнулся на таблицу импорта и статическое связывание. По описанию статическое связывание проверяет версию библиотеки с той что занесена в таблицу и если всё совпадает, тогда он грузит её. Проблема в таблице, там отсутствует адрес куда загружать библиотеку, а учитывая что большинство библиотек будет грузиться по адресу 0x10000000, то явно почти все буду загружены по другим адресам. Но какие либо механизмы возврата адреса загрузки dll отсутствуют(то есть я не нашёл). А если грузить всё самому, то к чему тогда вообще это связывание? и можно ли статический слинковать системные библиотеки?
  • Вопрос задан
  • 217 просмотров
Пригласить эксперта
Ответы на вопрос 1
При динамической линковке через таблицы импорта/экспорта сразу вычисляются адреса символов и заносятся в таблицу импорта, поэтому необходимости дополнительно хранить базовый адрес нет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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