正答3
解説
正解は3です。
コンパイラの最適化の意味を問う問題です。
最適化は、プログラムの意味を変えずに、実行速度やメモリ使用量が改善されるようにコードを生成する処理です。
不要な命令の削除や、ループ内で変化しない計算をループの外へ出すことなどが行われます。
【選択肢別解説】
1:× オブジェクトコードの代わりに中間コードを生成するのは、中間コードをインタプリタで実行する方式の説明です。
実行効率を高める最適化とは別のものです。
2:× 異なるアーキテクチャのコンピュータ向けにオブジェクトコードを生成するのは、クロスコンパイラの説明です。
3:○ ソースコードを解析し、実行時の処理効率を高めたオブジェクトコードを生成することが最適化です。
4:× 実行中のサブプログラム名や変数の内容を表示させるのは、デバッグ用のトレース機能の説明です。
最適化ではありません。
【ポイント】
コンパイラは、字句解析、構文解析、意味解析、最適化、コード生成の順に処理を進めます。
最適化はコード生成の前後で行われ、実行速度の向上を目的とします。