読み込み中...動的リンク(どうてきりんく)とは二つの意味がある。
#コンピュータのプログラムにおいて、実行時にプログラムの結合を行う方式。#ハイパーテキストにおいて、ノード間のリンクを参照時に決定する方式。
コンピュータのプログラム作成時においては、一般に大規模なプログラムをモジュールに分割して、コンパイル後に、オブジェクトファイルを汎用ライブラリと共につなぎ合わせて実行可能形式のバイナリを作成する。これを静的リンクと呼ぶ。
それとは異なり、プログラムを実行する時に初めて他のモジュールやライブラリと結合される方式を動的リンクと呼ぶ。この動的リンクを使ったライブラリを、共有ライブラリあるいはダイナミックリンクライブラリ(DLL)と呼ぶ。
利点として、実行可能形式のプログラムサイズを小さくできること、共有ライブラリをバージョンアップしたときにプログラムを再コンパイルする必要がないことがあげられる。
欠点としては、暗黙的に特定のバージョンの共有ライブラリの内部処理や仕様に依存していたプログラムがライブラリのバージョンアップによって動作しなくなること、バージョンアップした共有ライブラリに不良が作り込まれているとコンピュータ全体に影響が及ぶこと、バージョンアップによる影響範囲を事前に特定できないこと、複数のバージョンのライブラリがシステム内に存在するときの動作が特定できないこと等がある。これらの欠点は俗にコンピュータ業界で「DLL地獄(DLL Hell)」の名称で呼ばれることがある。
ハイパーテキストにおいて、ハイパーテキストを記述したときにノード間のリンクをあらかじめ定義する方式に対して、参照時に動的にリンクを決定する方式を言う。
読み込み中...