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