Freigeben über


Festlegen von DLLs für verzögertes Laden

Sie können angeben, welche DLLs mit der Linkeroption /DELAYLOAD:dllname verzögert geladen werden sollen. Wenn Sie nicht beabsichtigen, Ihre eigene Version einer Hilfsfunktion zu verwenden, müssen Sie auch das Programm mit "delayimp.lib" (für Desktopanwendungen) oder "dloadhelper.lib" (für Store-Apps) verknüpfen.

Im Folgenden finden Sie ein einfaches Beispiel für das verzögerte Laden einer 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);
}

Erstellen Sie die Debugversion des Projekts. Durchlaufen Sie den Code mithilfe des Debuggers schrittweise; Sie werden bemerken, dass "user32.dll" nur geladen wird, wenn Sie MessageBox aufrufen.

Siehe auch

Konzepte

Linkerunterstützung für verzögertes Laden von DLLs