遅延読み込みする DLL の指定
遅延読み込みする DLL は、/delayload**:**dllname リンカー オプションを使用して指定できます。 独自のヘルパー関数を使用しない場合は、プログラムに Delayimp.lib をリンクする必要があります。
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);
}
DEBUG バージョンのプロジェクトをビルドします。 デバッガーを使用してコードをステップ実行すると、MessageBox が呼び出されたときにだけ user32.dll が読み込まれることがわかります。