Skip to the content.

最終更新日:2026年7月15日

まず結論

リンカ(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は、プログラムの実行を確認して不具合を調べる

© 2024-2026 stemtazoo. All rights reserved.