HOME»基本情報技術者平成20年春期»午前問38
基本情報技術者平成20年春期 午前問38
問38
コンパイラによる最適化の主な目的はどれか。
- ソースプログラムのレベルでのデバッグを容易にする。
- プログラムの実行時間を短縮する。
- プログラムの保守性を改善する。
- 目的プログラムを生成する時間を短縮する。
- [出題歴]
- 基本情報技術者 H22秋期 問22
- 基本情報技術者 H30春期 問18
分類
テクノロジ系 » 基礎理論 » 情報に関する理論
正解
イ
解説
コンパイラは、高水準語で記述されたソースコードをコンピュータが理解できる機械語に一括変換する(=コンパイルする)ソフトウェアです。
コンパイルの手順は、①字句解析、②構文解析、③意味解析、④最適化の順で行われ、このうち最適化は、実行効率の高いオブジェクトコードを生成するためにプログラムを再構成する処理です。具体的には次のような処理が行われます。
コンパイルの手順は、①字句解析、②構文解析、③意味解析、④最適化の順で行われ、このうち最適化は、実行効率の高いオブジェクトコードを生成するためにプログラムを再構成する処理です。具体的には次のような処理が行われます。
- 値の不変の変数や、定数同士の計算を定数で置き換える
- 不使用の命令を削除する
- ループの展開、関数のインライン展開
- 累乗を乗算に、乗算を加算にする(加算のほうが処理速度が速い)
- デバッグを容易にするのは、トレーサーやインスペクター、メモリダンプのような開発支援ツールです。
- 正しい。コンパイラによる最適化の目的です。
- 保守性を高めるには、ソースコードを記述する段階で、変数の命名規則やコメントの書き方など、プログラムの標準的な記述方式を定めることが必要です。
- 生成する時間を短縮するには、コンパイラが行う最適化ではなく、コンパイルプログラム自体の最適化が必要です。