DLLまとめ 02 暗黙的な読み込み
DLLの簡単なまとめです。
DLLの暗黙的な読み込みについて
暗黙的な読み込み
作成したlibファイルをリンクすることで、暗黙的にDLLが読み込まれます。
/******************************************************************* DLLCaller.cpp *******************************************************************/ #pragma comment(lib, "myDLL.lib") #define IMPORT extern "C" __declspec(dllimport) IMPORT void __stdcall test(); int main() { test();
__declspec(dllimport)はなくてもかまいません。
__declspec(dllimport)をつけた関数は、インポートテーブルから直接呼び出されるため、呼び出しの無駄がなくなります。詳細はMSDNやこちらを参照してください。
プログラムの起動時、プログラムはDLLを検索します。
検索順序は、
1,プログラムが含まれているディレクトリ
2,GetWindowsDirectoryから返されるWindowsシステムディレクトリ
3,Windows配下のsystemサブフォルダ
4,GetSystemDirectoryから返されるWindowsディレクトリ
5,プロセスのカレントディレクトリ
6,PATH環境変数に列挙されているディレクトリ
です。