問題本文
コンパイラにおける最適化の説明として,適切なものはどれか。
選択肢
- ア.オブジェクトコードを生成する代わりに,インタプリタ用の中間コードを生成する。
- イ.コンパイルを実施するコンピュータとは異なるアーキテクチャをもったコンピュータで動作するオブジェクトコードを生成する。
- ウ.ソースコードを解析して,実行時の処理効率を高めたオブジェクトコードを生成する。
- エ.プログラムの実行時に,呼び出されたサブプログラム名やある時点での変数の内容を表示するようなオブジェクトコードを生成する。
正解
ウ. ソースコードを解析して,実行時の処理効率を高めたオブジェクトコードを生成する。
解説
コンパイラの最適化は、定数畳み込みやループ展開、命令スケジューリングなどの解析を行い、実行効率(速度・サイズ)が向上するオブジェクトコードを生成する処理を指します。
選択肢ごとの解説
- ア.これは中間コード生成方式(Java バイトコード等)の説明で、最適化の定義ではありません。
- イ.クロスコンパイラの説明で最適化とは別概念です。
- ウ.解析結果を利用して効率の高いコードを出力するのが最適化の標準的説明です。
- エ.これはデバッグ用情報の埋込みで、最適化とはしばしば相反する処理です。
基本情報技術者試験 平成26年度 春期 午前 の過去問一覧へ戻る・問18