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.