動的リンク

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

コンピュータのプログラム コンピュータプログラムにおいて、実行時にプログラムの結合を行う方式。

ハイパーテキストにおいて、ノード間のハイパーリンクリンクを参照時に決定する方式。

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

動的リンキング、ダイナミックリンキングとも言う。

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

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

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

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

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

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

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

関連項目
静的リンク
DEFAULTSORTとうてきりんく
Categoryプログラミング
Categoryハイパーテキスト