Задание библиотек DLL с отложенной загрузкой
Обновлен: Ноябрь 2007
Библиотеки DLL, которые будут загружаться с задержкой, можно указать с помощью параметра компоновщика /delayload:dllname. Если не планируется использование собственной версии вспомогательной функции, необходимо также скомпоновать программу с библиотекой Delayimp.lib.
В следующем примере демонстрируется отложенная загрузка библиотеки DLL:
// cl t.cpp user32.lib delayimp.lib /link /DELAYLOAD:user32.dll
#include <windows.h>
// uncomment these lines to remove .libs from command line
// #pragma comment(lib, "delayimp")
// #pragma comment(lib, "user32")
int main() {
// user32.dll will load at this point
MessageBox(NULL, "Hello", "Hello", MB_OK);
}
Постройте отладочную версию проекта. Если с помощью отладчика пройти код по шагам, то можно будет видеть, что библиотека user32.dll загружается только после вызова MessageBox.