Specifica delle DLL per il caricamento ritardato

Per specificare le DLL per il caricamento ritardato è possibile utilizzare l'opzione del linker /delayload:dllname. Se non si utilizza una versione personalizzata di una funzione di supporto, sarà anche necessario collegare il programma a Delayimp.lib.

Di seguito è riportato un semplice esempio di caricamento ritardato di una 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);
}

Compilare la versione di DEBUG del progetto. Eseguire il debug del codice procedendo un'istruzione alla volta. Si noti che user32.dll viene caricato solo quando si effettua la chiamata a MessageBox.

Vedere anche

Concetti

Supporto per le DLL a caricamento ritardato nel linker