過去問解きまくり研究所 ホーム

平成28年度 春期 午前Ⅱ 問11

開発ツール

コンパイラに関する問題

コンパイラによる最適化において,オブジェクトコードの所要記憶容量が削減できるものはどれか。

答えと解説を見る

✓ これが正解イ定数の畳込み

解説

定数どうしの計算を前もって済ませる定数の畳込みはコードを小さくします。

定数の畳込みは、コンパイルの時点で値が決まる定数どうしの計算を、コンパイラが前もって行い、結果の値に置き換える最適化です。見分ける軸は、最適化によって命令が減るか増えるかです。例えば2×3のような式を、実行時に掛け算をする命令の代わりに6という値で済ませるので、計算の命令がなくなり、オブジェクトコードは小さくなります。実行速度も上がります。ほかの三つは主に速度を上げるための最適化で、命令を複製したり位置を移したりするため、記憶容量は減らないか、かえって増えます。計算を前倒しして消す最適化はコードも小さくする、と覚えると選べます。

ほかの選択肢はなぜ違うのか

出典:平成28年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問11

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)