Partager via


Spécification de DLL dont le chargement doit être différé

Vous pouvez spécifier les DLL dont vous souhaitez différer le chargement à l'aide de l'option de l'éditeur de liens /DELAYLOAD : dllname. Si vous n'envisagez pas d'utiliser votre propre version d'une fonction d'assistance, vous devez également lier votre programme avec Delayimp.lib.

Le code ci-après est un exemple simple de chargement différé d'une 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);
}

Générez la version DEBUG du projet. Lorsque vous parcourez le code à l'aide du débogueur, vous pouvez remarquer que user32.dll n'est chargé qu'au moment de l'appel adressé à MessageBox.

Voir aussi

Concepts

Prise en charge de l'éditeur de liens pour les DLL à chargement différé