次の方法で共有


遅延読み込みする 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 が読み込まれることがわかります。

参照

概念

リンカーによる DLL の遅延読み込み