正答2
解説
正解は2です。
ある機種の上で、命令形式の異なる別の機種向けの目的プログラムを生成する言語処理プログラムを問う問題です。
組込みシステムの開発では、パソコン上で組込み機器用のプログラムを作るためにこの方式がよく使われます。
【選択肢別解説】
1:× エミュレーターは、別のコンピュータの命令をソフトウェアなどで模倣し、そのコンピュータ用のプログラムを実行するものです。
目的プログラムを生成する言語処理プログラムではありません。
2:○ クロスコンパイラは、開発に使うコンピュータとは異なる命令形式のコンピュータで動く目的プログラムを生成します。
問題文の説明と一致します。
3:× 最適化コンパイラは、実行速度やメモリ使用量が良くなるように工夫した目的プログラムを生成するコンパイラです。
別の命令形式のコンピュータ向けに生成することが特徴ではありません。
4:× プログラムジェネレーターは、入力したパラメータや仕様からソースプログラムを自動生成するツールです。
異なる機種向けの目的プログラムを作ることを指す用語ではありません。
【ポイント】
クロス(cross)は「異なる環境をまたぐ」という意味で、開発環境(ホスト)と実行環境(ターゲット)が異なることを表します。
クロスコンパイラで作ったプログラムは、エミュレーターや実機で動作を確認します。