動的リンクライブラリ | Programming Place Plus 用語集

トップページ用語集

名称 🔗

解説 🔗

ライブラリの種類の1つで、プログラム実行時に、必要に応じてロードリンクする方式を採るものを指します。

実行可能ファイルとは別に、外部のファイルとして作られます。Windows では、おもに .dll という拡張子を持ったファイルとして実装されます。Linux などでは .so という拡張子を持つファイルであり、共有ライブラリ(Shared Library)と呼ばれます。

プログラムの実行時にロードし、リンクを行います。このような仕組みを動的リンクと呼びます。そのため、必要なライブラリが適切な場所に存在していないと、プログラムの作りによっては実行時にエラーを起こして強制終了(異常終了)することになります。

同じライブラリを使う複数のアプリケーションとのあいだで共有できることが特徴的です。このため、アプリケーション本体のサイズを小さく抑えられますし、メモリに同じライブラリのコードをロードしておく必要がなく、メモリ使用量の削減につながる可能性があります。また、多くのアプリケーションで必要になる共通的なコードを、それぞれのアプリケーションの開発者が実装する必要がなく、無駄な労力を避ける効果もあります(車輪の再発明の回避)。たとえば Windows API は、動的リンクライブラリとして実装されているため、Windows で動作するアプリケーションのほとんどは、共通のライブラリの実装を共有できます。

プログラム本体のソースコードを一切書き換えることなく、ライブラリ側だけを修正することで、アプリケーションの動作を更新できます。ただしこれに伴って、互換性の問題を起こす可能性があります(DLL地獄)。たとえば、古いバージョンのライブラリの動作に依存していたプログラムが、突然正常に動作しなくなる恐れがあります。

動的リンクおよび動的リンクライブラリに対して、プログラム開発時に、実行可能ファイルの内部に含めておく方式を静的リンクといい、そのようなライブラリを静的リンクライブラリと呼びます。


参考リンク 🔗

更新履歴 🔗


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る