Condividi tramite


Specifica delle DLL per il caricamento ritardato

È possibile specificare le DLL da caricare in modo ritardato con l'opzione del linker /delayload:dllname . Se non si intende usare una versione personalizzata di una funzione di supporto, è necessario anche collegare il programma a delayimp.lib (per le applicazioni desktop) o a dloadhelper.lib (per le app dello Store).

Di seguito è riportato un esempio semplice 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 DEBUG del progetto. Eseguire il codice un'istruzione alla volta usando il debugger in modo da notare che il file user32.dll verrà caricato solo quando si effettua la chiamata a MessageBox.

Vedere anche

Concetti

Supporto per le DLL a caricamento ritardato nel linker