動的リンク
動的リンキング、ダイナミックリンキングとも言う。
コンピュータプログラム作成時において、大規模なプログラムは一般的に複数のモジュールに分割される。ライブラリあるいはアプリケーションプログラムのモジュールをビルドする際に、まずコンパイラによってソースコードからオブジェクトファイルが生成されるが、各モジュールに必要なプログラムコードの実体すべてをリンケージエディタによってリンクしてモジュールに含め、実行可能形式のバイナリ(実行ファイル)を得る方式を静的リンクと呼ぶ。
これに対し、各モジュールに必要なプログラムコードの実体すべてを含めず、プログラムの実行開始時にローダによって初めて他のモジュールと結合する方式を動的リンクと呼ぶ。この動的リンク機構を使ったライブラリを、動的リンクライブラリ(ダイナミックリンクライブラリ)と呼ぶ。Microsoft Windows環境ではDLLと略されることが多い。よく使われる処理(アルゴリズム)を記述したサブルーチンを再利用するケースなど、動的リンクライブラリを複数のプログラムから共有することには利点があるので、しばしば「共有ライブラリ」として運用される。
動的リンクの利点としては、重複するコードやデータが減ることでモジュールのサイズを小さくできることや、ライブラリの実装を変更したときに、ライブラリのインターフェイスに変更がなければプログラムを再リンクする必要がないことが挙げられる。
動的リンクの欠点としては、モジュール自身に必要なコードが含まれていないため自己完結できないことや、シンボルの解決が実行時に(動的に)実施されるためプログラム実行時のオーバーヘッドがあることなどが挙げられる。