最終更新日:2026年7月15日
fe fe-technology programming
まず結論
リンカ(Linker)とは、複数の目的モジュールやライブラリをつないで、実行できる形のロードモジュールを作るソフトウェアです。
英語の link は「つなぐ」という意味です。
Compiler:ソースコードを目的モジュールに変換する
Linker :目的モジュールやライブラリをつなぐ
Loader :ロードモジュールを主記憶に読み込む
Debugger:実行を確認して不具合を調べる
「相互参照の解決」や「複数の目的モジュールからロードモジュールを生成」と出たら、リンカを疑います。
直感的な説明
プログラムは、いくつかの部品に分けて作られることがあります。
部品A
部品B
ライブラリ
リンカは、これらの部品をつないで、実行できる形にまとめる役割です。
ソースコード
→ Compiler
→ 目的モジュール
→ Linker
→ ロードモジュール
→ Loader
→ 主記憶に読み込んで実行
コンパイラが部品を作り、リンカが部品を組み合わせ、ローダが完成品を主記憶へ運ぶイメージです。
定義・仕組み
| 段階 | 担当するもの | 役割 |
|---|---|---|
| 1 | コンパイラ | ソースコードを目的モジュールに変換する |
| 2 | リンカ | 目的モジュールやライブラリを結合する |
| 3 | ローダ | ロードモジュールを主記憶に読み込む |
| 4 | デバッガ | 実行を確認し、不具合を調べる |
リンカが行う重要な処理の一つが、相互参照の解決です。
目的モジュールA
→ 目的モジュールBの関数を参照
この参照先を対応付け、複数の目的モジュールやライブラリをまとめて、実行できるロードモジュールを生成します。
目的モジュール + ライブラリ
→ Linker
→ ロードモジュール
公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。
科目Aでどう出る?
科目Aでは、説明文から該当するソフトウェアを選ぶ形で出題されやすいです。
| 問題文のキーワード | 選ぶ用語 |
|---|---|
| ソースコードを変換する | コンパイラ |
| 目的モジュールを結合する | リンカ |
| 相互参照を解決する | リンカ |
| ロードモジュールを主記憶に読み込む | ローダ |
| ステップ実行、実行結果を確認する | デバッガ |
相互参照の解決などを行い、
複数の目的モジュールから一つのロードモジュールを生成する
→ リンカ
一方、
実行に先立ってロードモジュールを主記憶にロードする
→ ローダ
です。
入力と出力で見分ける
| 用語 | 主な入力 | 主な出力・結果 |
|---|---|---|
| コンパイラ | ソースコード | 目的モジュール |
| リンカ | 目的モジュール・ライブラリ | ロードモジュール |
| ローダ | ロードモジュール | 主記憶上の実行可能な状態 |
| デバッガ | 実行プログラム | 実行状況や不具合の手掛かり |
試験では、「何を受け取り、何を作るか」を見ると判断しやすくなります。
どんな場面で使う?
リンカは、複数のソースファイルを個別にコンパイルしたプログラムや、外部ライブラリを利用するプログラムを、一つの実行可能な形へまとめるときに使われます。
複数の目的モジュール
+
必要なライブラリ
↓
リンカが参照関係を解決
↓
ロードモジュールを生成
プログラムの作成から実行までの順序は、次のように整理します。
変換 → 結合 → 読込み → 実行確認
Compiler → Linker → Loader → Debugger
よくある誤解・混同
| 混同しやすい組み合わせ | 違い |
|---|---|
| リンカとローダ | Linkerは結合する、Loaderは主記憶に読み込む |
| コンパイラとリンカ | Compilerは変換する、Linkerはつなぐ |
| リンカとデバッガ | Linkerは実行前に結合する、Debuggerは実行を確認する |
compile:変換してまとめる
link :つなぐ
load :読み込む
debug :バグを調べる
特に、ローダはロードモジュールを作るのではなく、主記憶に読み込みます。
ロードモジュールを作る
→ Linker
ロードモジュールを読み込む
→ Loader
まとめ(試験直前用)
- リンカは、目的モジュールやライブラリをつなぐソフトウェア
- Compilerは、ソースコードを目的モジュールに変換する
- Linkerは、相互参照を解決し、ロードモジュールを生成する
- Loaderは、ロードモジュールを主記憶に読み込む
- Debuggerは、プログラムの実行を確認して不具合を調べる