DLL と実行形式のリンク
実行可能ファイルを DLL とリンクするには、次の 2 つの方法があります。
暗黙的リンクは、静的読み込み、または読み込み時の動的リンクと見なされることがあります。 暗黙的リンクは、動的読み込み、またはランタイム動的リンクと見なされることがあります。
暗黙的リンクの場合、DLL を使う実行形式は、DLL の作成元から提供されるインポート ライブラリ (.lib ファイル) とリンクします。 オペレーティング システムは、DLL を使う実行形式の読み込み時にその DLL を読み込みます。 クライアントの実行形式は、その実行形式内に含まれている関数を呼び出す場合と同じように、DLL のエクスポート関数を呼び出します。
明示的リンクの場合、DLL を使う実行形式は、関数呼び出しを行って、DLL を明示的に読み込み/アンロードしたり、DLL のエクスポート関数にアクセスします。 クライアントの実行形式は、関数ポインターを通じてエクスポート関数を呼び出します。
実行形式は、リンク方式に関係なく同じ DLL を使うことができます。 さらに、これらの機構は相互に排他的ではありません。つまり、ある実行形式は、DLL と暗黙的にリンクでき、別の実行形式は、DLL と明示的にアタッチできます。