Следующие три команды показывают, как
Следующие три команды показывают, как нужно запускать REBASE.EXE с этими DLL:
REBASE /b 0x60000000 APPLE.DLL
REBASE /b 0x61000000 DUMPLING.DLL
REBASE /b 0x62000000 GINGER.DLL GOOSEBERRIES.DLL
Если несколько DLL-файлов передаются в REBASE.EXE в командной строке, как здесь показано для файлов GINGER.DLL и GOOSEBERRIES.DLL, то REBASE.EXE перебазирует их так, чтобы они были загружены друг за другом, начиная с указанного стартового адреса.
Другой метод перебазирования DLL состоит в спецификации адреса загрузки при компоновке DLL. В IDE Visual Basic установите адрес в поле
DLL Base Address на вкладке
Compile диалогового окна
Project Properties. В Visual C++ укажите адрес в редактируемое поле
Base Address, перейдя на вкладку
Link диалогового окна
Project Settings и выбрав там элемент Output в комбинированном списке
Category. Visual C++ транслирует адрес, который вы вводите в поле
Base Address в ключ /BASE компоновщика LINK.EXE.
С помощью утилиты REBASE.EXE можно автоматически обрабатывать одновременную установку множественных адресов загрузки DLL. Однако при установке адреса загрузки во время компоновки следует быть немного осторожнее. Если адреса загрузки нескольких DLL-файлов установлены слишком близко друг к другу, то в окне
Ouput появляется сообщение перераспределения загрузчика. Фокус в том, чтобы установить загрузочные адреса достаточно далеко друг от друга (чтобы не беспокоиться о них после того, как вы их установили).
Для тех же DLL-файлов, что и в примере с REBASE.EXE, загрузочные адреса устанавливаются так:
APPLE.DLL 0x60000000
DUMPLING.DLL. 0x61000000
GINGER.DLL 0x62000000
GOOSEBERRIES.DLL 0x62100000
Два файла — GINGER.DLL и GOOSEBERRIES.DLL - интересны потому, что их имена начинаются с одного и того же знака. Когда это случается, адреса загрузки дифференцируются по третьей старшей цифре.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий