リンカ 【linker】 リンケージエディタ / linkage editor / 連係編集プログラム

概要

リンカ(linker)とは、ソフトウェアの開発ツールの一つで、機械語(マシン語)で記述されたプログラムを連結、編集して実行可能ファイルを作成するソフトウェア。

解説 プログラミング言語で書かれたソースコードはコンパイラなどによって機械語によるプログラム(オブジェクトコード)に変換されるが、そのままではOSから起動できる実行ファイルとはならない。リンカはオブジェクトコードの収められたファイルを元に様々な処理や変換を行い、OS上で起動可能な実行可能形式のファイルを作成する。

リンカはオブジェクトコード中から呼び出されるコードが収録された他のオブジェクトファイルやライブラリファイルなどを連結あるいは参照し、実行時に適切に呼び出せるよう繋ぎこむ。また、OSからの起動に必要な設定情報や先頭部分の定形コードなどを組み込み、コード中の変数や関数などのアドレス解決(変数名などをプログラム先頭からの相対位置で置き換え)などを行う。

外部プログラムの連結方法には静的リンク動的リンクの二つがあり、静的リンクの場合はリンカがコード中から参照されるライブラリ関数などすべての機械語プログラムを一つのファイルに格納し、単体で実行可能なファイルを生成する。動的リンクの場合は外部プログラムの連結は実行時に行われるため、リンカは実行ファイルローダなど外部コードを呼び出す仕組みを組み込む。

(2018.12.5更新)

他の用語辞典による「リンカ」の解説 (外部サイト)

資格試験などの「リンカ」の出題履歴

▼ 基本情報技術者試験
平30秋 問20】 リンカの機能として,適切なものはどれか。
平28春 問20】 リンカの機能として,適切なものはどれか。
平25修1 問25】 リンカの説明として,適切なものはどれか。