正答1
解説
正解は1です。
コンパイラの最適化とは、ソースプログラムの意味を変えずに、より効率のよい目的プログラムを生成することです。
不要な計算の削除やループ内の不変式の移動などを行います。
【選択肢別解説】
1:○ 最適化の主な目的は、生成された目的プログラムの実行時間を短くすることです。
メモリ使用量を減らすことも目的に含まれます。
2:× 最適化を行うと命令の順序が入れ替わったり変数が消えたりするため、デバッグはむしろ難しくなります。
3:× 保守性はソースプログラムの書き方や設計によって決まります。
コンパイラが生成する目的プログラムを最適化しても、保守性は改善しません。
4:× 最適化は解析処理を追加で行うため、コンパイル(目的プログラムの生成)にかかる時間は長くなります。
【ポイント】
最適化は「コンパイル時間をかけて、実行時間を短くする」処理です。
デバッグ時は最適化を外してコンパイルすることがよくあります。