Поддержка компоновщика для DLLs, загружаемых с задержкой
Компоновщик Visual C++ сейчас поддерживает загрузку DLLs с задержкой.Это снимает необходимость использовать функции Windows SDK LoadLibrary и GetProcAddress для реализации загрузки DLL с задержкой.
В предыдущих версиях Visual C++ 6.0 был только один способ загрузить DLL во время выполнения: использовать LoadLibrary и GetProcAddress; операционная система могла бы загрузить DLL при выполнении или использовать загруженные модули DLL.
Начиная с Visual C++ 6.0, при статической компоновке с DLL компоновщик предоставляет параметры для задержки загрузки DLL до тех пор, пока программа не вызовет функцию, в которой содержится DLL.
Приложение может задержать загрузку DLL при помощи параметра компоновщика /DELAYLOAD (Delay Load Import) со вспомогательной функцией (реализацией по умолчанию предоставляемой Visual C++).Вспомогательная функция будет загружать DLL во время выполнения, вызывая LoadLibrary и GetProcAddress.
Следует установить задержку в загрузке DLL, если:
Ваша программа может не вызвать функцию в DLL.
Функция в DLL может не получить вызов до тех пор, пока не будет выполняться в программе.
Задержка в загрузке DLL может быть указана при построении .EXE или .DLL проекта.Проекту .DLL, который задерживает загрузку одного или более DLLs, не следует самому вызывать загружаемую с задержкой точки входа в Dllmain.
В следующих подразделах приведено описание DLLs, загружаемых с задержкой: