修了試験 2011-06-26実施分 基本情報技術者試験 問26
図はプログラムを翻訳して実行するまでの流れを示したものである。 コンパイラ,リンカ,ローダの入出力の組合せとして,適切なものはどれか。

正答1
解説
正解は1です。 この問題は、プログラムを翻訳して実行するまでの流れと、各段階で扱うモジュールの名称を問うています。 図では、原始プログラムがコンパイラに入り、その出力aがリンカに入ります。 リンカにはbも上から入力され、リンカの出力cがローダに渡されます。 コンパイラは、原始プログラム(ソースプログラム)を機械語の目的プログラム(オブジェクトプログラム)に翻訳します。 リンカ(連係編集プログラム)は、目的プログラムにライブラリモジュールを結合して、実行可能なロードモジュールを作ります。 ローダは、ロードモジュールを主記憶に読み込んで実行できる状態にします。 したがって、aは目的プログラム、bはライブラリモジュール、cはロードモジュールです。 【選択肢別解説】 1:○ コンパイラの出力が目的プログラム、リンカに追加で入るのがライブラリモジュール、リンカの出力がロードモジュールなので、流れに一致します。 2:× aはコンパイラの出力なので、ライブラリモジュールではなく目的プログラムです。 また、cはローダへの入力なのでロードモジュールです。 3:× ロードモジュールはリンカが作るものなので、コンパイラの出力aにはなりません。 aは目的プログラム、bはライブラリモジュールです。 4:× aがロードモジュール、cが目的プログラムでは順序が逆です。 正しくは、目的プログラムがリンカでロードモジュールに変換されます。 【ポイント】 「コンパイル、リンク、ロード」の順に、目的プログラム、ロードモジュールと名前が変わると覚えます。 プログラムの実行時にライブラリを結合する方式は、動的リンクと呼ばれます。まとめて解く
修了試験 2011-06-26実施分を通しで解く(80問)→