リンカ 【linker】 リンケージエディタ / linkage editor / 連係編集プログラム
プログラミング言語で書かれたソースコードはコンパイラなどによって機械語によるプログラム(オブジェクトコード)に変換されるが、そのままではOSから起動できる実行ファイルとはならない。リンカはオブジェクトコードの収められたファイルを元に様々な処理や変換を行い、OS上で起動可能な実行可能形式のファイルを作成する。
リンカはオブジェクトコード中から呼び出されるコードが収録された他のオブジェクトファイルやライブラリファイルなどを連結あるいは参照し、実行時に適切に呼び出せるよう繋ぎこむ。また、OSからの起動に必要な設定情報や先頭部分の定形コードなどを組み込み、コード中の変数や関数などのアドレス解決(変数名などをプログラム先頭からの相対位置で置き換え)などを行う。
外部プログラムの連結方法には静的リンクと動的リンクの二つがあり、静的リンクの場合はリンカがコード中から参照されるライブラリ関数などすべての機械語プログラムを一つのファイルに格納し、単体で実行可能なファイルを生成する。動的リンクの場合は外部プログラムの連結は実行時に行われるため、リンカは実行ファイルにローダなど外部コードを呼び出す仕組みを組み込む。
(2018.12.5更新)