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