動的リンク

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

動的リンクどうてきりんく)とは二つの意味がある。

  1. コンピュータプログラムにおいて、実行時にプログラムの結合を行う方式。
  2. ハイパーテキストにおいて、ノード間のリンクを参照時に決定する方式。

プログラムにおける動的リンク

コンピュータのプログラム作成時に、一般に大規模なプログラムをモジュールに分割して、別々にコンパイルすることが行われる。

コンパイル直後の実行ファイル生成時に、ライブラリ等を全てリンクし、必要なコードが全て揃った実行ファイルを生成する方式を、静的リンクと呼ぶ。

これに対し、実行ファイルでは不揃いなままにしておき、プログラムを実行する時に初めて他のモジュールやライブラリとリンクする方式を動的リンクと呼ぶ。この動的リンクを使ったライブラリを、ダイナミックリンクライブラリ(DLL)と呼ぶ。動的リンクライブラリを複数のプログラムから共有することには利点があるので、しばしば共有ライブラリとして運用される。

利点として、実行可能形式のプログラムサイズを小さくできること、共有ライブラリをバージョンアップしたときにプログラムを再コンパイルする必要がないことがあげられる。

欠点としては、暗黙的に特定のバージョンの共有ライブラリの内部処理や仕様に依存していたプログラムがライブラリのバージョンアップによって動作しなくなること、バージョンアップした共有ライブラリに不良が作り込まれているとコンピュータ全体に影響が及ぶこと、バージョンアップによる影響範囲を事前に特定できないこと、複数のバージョンのライブラリがシステム内に存在するときの動作が特定できないこと等がある。これらの欠点は俗にコンピュータ業界で「DLL地獄(DLL Hell)」の名称で呼ばれることがある。

ハイパーテキストにおける動的リンク

ハイパーテキストにおいて、ハイパーテキストを記述したときにノード間のリンクをあらかじめ定義する方式に対して、参照時に動的にリンクを決定する方式を言う。