Поделиться через


/DELAY (Параметры импорта задержки загрузки)

Параметры компоновщика для управления задержкой загрузки библиотек DLL во время выполнения.

Синтаксис

/DELAY:UNLOAD
/DELAY:NOBIND

Замечания

Параметр /DELAY управляет задержкой загрузки библиотек DLL:

  • Квалификатор /DELAY:UNLOAD сообщает вспомогательной функции задержки загрузки для поддержки явной выгрузки библиотеки DLL. Таблица адресов импорта (IAT) восстанавливается в своем первоначальном виде; это приводит к тому, что указатели IAT становятся недействительными и перезаписываются.

    Если вы не выберете /DELAY:UNLOAD, вызов завершится ошибкой __FUnloadDelayLoadedDLL .

  • Квалификатор /DELAY:NOBIND сообщает компоновщику не включать привязываемый IAT в окончательном изображении. По умолчанию задано создание связываемой таблицы IAT для библиотек DLL, загружаемых с задержкой. Полученное изображение не может быть статически привязано. (Изображения с привязываемыми IATs могут быть статически привязаны перед выполнением.) Дополнительные сведения см. в статье /BIND.

    Если библиотека DLL привязана, вспомогательной функции пытается использовать привязанные сведения вместо вызова GetProcAddress каждого из указанных импортов. Если метка времени или предпочтительный адрес не совпадают с загруженными библиотеками DLL, вспомогательная функция предполагает, что привязанный IAT устарел. Он продолжается, как если бы привязанный IAT не существует.

    /DELAY:NOBIND Приводит к тому, что образ программы больше, но может ускорить загрузку библиотеки DLL. Если вы никогда не планируете привязать библиотеку DLL, /DELAY:NOBIND не позволяет создавать привязанный IAT.

Чтобы указать библиотеки DLL для задержки загрузки, используйте /DELAYLOAD этот параметр.

Задание данного параметра компоновщика в среде разработки Visual Studio

  1. Откройте диалоговое окно Страницы свойств проекта. Дополнительные сведения см. в разделе Set компилятора и свойств сборки.

  2. Выберите страницу свойств>компоновщика>конфигурации Advanced.

  3. Измените свойство loaded DLL с задержкой выгрузки или свойство unbind delayed DLL . Нажмите кнопку "ОК" или "Применить", чтобы сохранить изменения.

Задание данного параметра компоновщика программным способом

См. также

Справочник по компоновщику MSVC
Параметры компоновщика MSVC