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環境変数に列挙されているディレクトリ
です。