Spécification de DLL dont le chargement doit être différé
Mise à jour : novembre 2007
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é