リンカ
別名: Linker, Link Editor, Linkage Editor
機械語のコードを結合し実行ファイルを作成するプログラム。C言語ではソースコードをコンパイルするとオブジェクトファイルが生成され、それに他のオブジェクトファイルや共有ライブラリを結合することで、一つのプログラムが完成する。Executable and Linkable Format (ELF)の「Linkable」はこの「リンク」から。
関連用語
静的リンク: コンパイル時にくっつける。一体型。
動的リンク: 実行時にくっつける。装備型。
ダイナミックリンクライブラリ(DLL):実行時にくっつけるライブラリ。
リロケーション: オブジェクトの内部のアドレスを再割り当てすること。プロセスを生成するときに仮想的なアドレスから絶対アドレスを決定すること。
リロケータブルオブジェクト: リロケーションが可能なオブジェクト。メモリ空間のどこにでもその実行ファイルを配置することができる。
インクリメンタルリンク: 前回のリンクから変更のあった部分を中心として効率的に処理するリンク。
実行時リンク: プログラム実行時に行うリンクのこと。
実行時リンカ(Runtime Linker): 実行時リンクを行うリンカ。ld.so.1。
動的実行ファイル(Dynamic Executable): プロセスを生成するときに実行時リンカによる割り込みを必要とするリロケータブルオブジェクトを結合した実行ファイル。
リンカの一覧
ld: GNUプロジェクト。
lld: LLVM。ldの改良版として開発。
GNU gold: Googleが開発。