DLL(Dynamic Link Library/ディー・ディー・エル)とは、複数のプログラムから共通して呼び出して使える部品をまとめたファイルのことです。よく使う機能をひとまとめにしておき、必要なときに各プログラムが読み込んで利用します。Windowsで広く使われており、ファイルの拡張子は「.dll」です。「ディーエルエル」と読みます。
現実世界でいえば、みんなで共有する「道具箱」のようなものです。同じドライバーやハンマーを一人ひとりが持つ代わりに、共用の道具箱に入れておき、必要な人が必要なときに取り出して使います。こうすれば道具(機能)を何度も作らずに済み、全体をすっきり保てます。道具箱の中身を新しくすれば、それを使うみんなが自動的に新しい道具を使えるようになる点も便利です。
DLLのしくみと利点
DLLは、プログラム本体とは別のファイルとして機能を切り分けておく方式です。これにより、さまざまなメリットが生まれます。
- 機能を共有できる
一つのDLLを複数のプログラムから使い回せます。 - 容量を節約できる
同じ機能を各プログラムが持たずに済みます。 - 更新がしやすい
DLLだけ差し替えれば、全プログラムに反映できます。
静的リンクと動的リンク
プログラムが部品を取り込む方法には、あらかじめ本体に組み込む「静的リンク」と、実行時に読み込む「動的リンク」があります。DLLは後者にあたります。
| 方式 | 特徴 | 例え |
|---|---|---|
| 静的リンク | 部品を本体に取り込んでしまう。 | 道具を各自で所有 |
| 動的リンク | 実行時に必要なDLLを読み込む。 | 共用の道具箱を利用 |
DLLで起こるトラブル
DLLは便利な一方で、注意点もあります。あるプログラムが必要とするDLLが見つからないと「DLLが見つかりません」というエラーが出て動かなくなります。また、共有しているDLLを別のソフトが古い版に置き換えてしまい、他のソフトが不具合を起こす「DLL地獄」と呼ばれる問題が起きることもあります。そのため、DLLのバージョン管理は重要とされています。

コメント