IT資格用語解説基本情報技術者試験・ライブラリ
DLL (Dynamic Link Library)
更新日:
用語解説
DLL(Dynamic Link Library、動的リンクライブラリ)は、Windowsなどで、関数やデータを複数の実行プログラムから利用できる形で格納し、プログラムのロード時又は実行中に動的に結合する共有ライブラリです。
■ 試験で押さえるポイント
暗黙的リンクでは実行ファイルがインポート情報を持ち、起動時にローダがDLLと公開シンボルを解決します。明示的リンクではLoadLibrary等で読み込み、関数アドレスを取得します。
同じDLLの読取り専用コードページは複数プロセスで物理メモリを共有できますが、通常の書込み可能データやアドレス空間まで自動的に共有されるわけではありません。
機能を部品化して実行ファイルを小さくし、同じコードを共用・更新できますが、ABIや版の不一致、必要DLLの欠落による依存関係障害に注意します。
■ 選択肢での判断ポイント
『実行時に結合』『複数プログラムでコードを共用』『更新や欠落が利用プログラムへ影響』が手掛かりです。静的リンクではライブラリのコードが実行ファイルへ複製されます。
例: 画像処理機能をimage.dllとして公開し、複数アプリが同じ関数を呼び出します。DLLを互換性のない版へ置換すると、呼出し規約の相違で起動に失敗します。