DLLの仕組み


せっかくだからDLLの仕組みを説明しておきます。

まずCOMでないDLLの読み込み時の動作ですが、アプリケーションは静的な読み込みであれ動的な読み込みであれ、DLLの名前を直接指定して使用します。DLLの読み込み優先順位は、アプリケーションの存在するフォルダ→カレントディレクトリ→システムディレクトリ(system32とか)→ウィンドウズディレクトリ(WINDOWSとか)→環境変数のパスになります。DLLをどこに置いたら良いか分からなかったら、とりあえずシステムディレクトリに入れておきましょう。

次にCOMのDLLですが、モジュール自体はどこに置いておいても良いです。重要な点は、regsvr32.exeで登録を行った場所から移動させないことです。アプリケーションはCOMコンポーネントに対し、直接インターフェースを要求するのではなく、COMをサポートするインターフェースを介して必要なインターフェースを取得します。

Windows Vistaが登場して新しいAPIセットも登場したという時代なのに、凄い今更感丸出しな説明ですね・・・。開発者にとっては当たり前の知識かもしれませんが、普通にWindows使ってるだけの方にとっては実際ここまで知るのは厳しいかと思って簡単に説明してみました。興味のある方は是非もっと詳しく調べてみてください。Windowsプログラミングはやりたくねぇと思えますから。


前回 「いろいろインストール方法


(更新日:2007/9/15)