IT用語集 › プログラミング › リンカ

リンカ

プログラミング Svenska → 更新: 2026-10-22

コンパイラが出力したオブジェクトファイルをつなぎ合わせて実行ファイルにし、宙に浮いたままのシンボルをすべて解決するプログラム。

コンパイラは1ファイルずつ翻訳し、自分の手元にない関数があればそこに穴を残す。その穴を埋めるのがリンカだ。すべての .o ファイルとライブラリを集め、未定義のシンボルを定義と突き合わせ、セクションをメモリ上に配置して ELF バイナリを出力する。おなじみの undefined reference to というエラーは、コンパイラではなくここで出ている。

GNU ld は1980年代から標準だが、大規模プロジェクトでは相当に遅い。Googleは2008年に置き換えとして gold を書き、LLVM は lld で応じ、2021年には上山ルイ(Rui Ueyama)が並列化を徹底した mold を公開した。Chromiumでさえ数秒でリンクできる。大きなC++のコードベースでは、リンク工程がビルド全体で最長になることも珍しくない。

← 用語集に戻る