平成26年度 春期 基本情報技術者試験 午前 問18
テクノロジ/ソフトウェアコンパイラにおける最適化の説明として,適切なものはどれか。
出典:平成26年度 春期 基本情報技術者試験 午前 問18
- アオブジェクトコードを生成する代わりに,インタプリタ用の中間コードを生成する。
- イコンパイルを実施するコンピュータとは異なるアーキテクチャをもったコンピュータで動作するオブジェクトコードを生成する。
- ウソースコードを解析して,実行時の処理効率を高めたオブジェクトコードを生成する。
- エプログラムの実行時に,呼び出されたサブプログラム名やある時点での変数の内容を表示するようなオブジェクトコードを生成する。
正解:ウ
解説
コンパイラの最適化とは,ソースコードを解析し,実行時の処理速度向上やメモリ使用量の削減などを図りながら,同じ動作をするより効率的なオブジェクトコードを生成する処理のことです。不要な計算の削除やループの展開などが代表的な最適化手法です。
選択肢ごとの解説
- ア誤り。オブジェクトコードの代わりに中間コードを生成するのはインタプリタ方式やJITコンパイルに関する説明であり,最適化そのものではありません。
- イ誤り。異なるアーキテクチャ向けのオブジェクトコードを生成するのはクロスコンパイラの説明です。
- ウ正しい。ソースコードを解析し,実行時の処理効率を高めたオブジェクトコードを生成するのがコンパイラの最適化です。
- エ誤り。実行時にサブプログラム名や変数の内容を表示する機能は,デバッグ支援機能(トレース機能)の説明です。