静的リンク 【static link】 スタティックリンク / 静的リンキング / static linking / スタティックリンキング

概要

静的リンク(static link)とは、プログラムの実行に必要なライブラリやモジュールなどを、実行ファイル本体の内部にすべて連結(リンク)しておくこと。

開発時に必要なプログラムをすべて連結し、それ単体で実行可能な形式のプログラムファイルを作成する。静的リンクにより利用するよう想定・設計されたライブラリファイルを「静的リンクライブラリ」(static link libary)という。

これに対し、必要なライブラリなどを実行時に連結する方式は「動的リンク」(dynamic link)「ダイナミックリンク」という。実行環境側に置かれている共有ライブラリ動的リンクライブラリ(DLL:Dynamic Link Library)を利用する。

静的リンクは実行環境側で必要なライブラリを配置・導入する必要がなく、リンク処理を事前に済ませた状態で配布するため実行時の性能劣化が小さいが、プログラム間で重複するコードやデータなども含めすべて連結するためプログラムサイズが大きくなる。

また、動的リンクで問題となるライブラリの不具合やバージョン不整合などに煩わされることはないが、逆に、ライブラリの更新で性能向上やバグ修正が行われても、プログラムファイル本体を再構築して配布し直さない限り恩恵を受けることができない。

(2020.4.10更新)