問題プレビューID: 601771f6

問 22

図はプログラムを翻訳して実行するまでの流れを示したものである。コンパイラ、リンカ、ローダの入出力の組合せとして、適切なものはどれか。

Labelabc
ア

目的プログラム

ライブラリモジュール

ロードモジュール

イ

ライブラリモジュール

ロードモジュール

目的プログラム

ウ

ロードモジュール

目的プログラム

ライブラリモジュール

エ

ロードモジュール

ライブラリモジュール

目的プログラム

解説

言語処理系の役割は次のとおりです。

  • コンパイラ: 原始プログラム(ソースプログラム)を翻訳し、目的プログラム(オブジェクトプログラム)を出力します。したがって a は「目的プログラム」です。
  • リンカ: 目的プログラムとライブラリモジュールなどを結合し、実行可能なロードモジュールを生成します。図で外部からリンカに渡される b は「ライブラリモジュール」です。
  • ローダ: ロードモジュールを主記憶に読み込んで実行します。c は「ロードモジュール」です。

したがって、a=目的プログラム、b=ライブラリモジュール、c=ロードモジュールの組合せである「ア」が適切です。

正解は「ア」です。