コンパイラによる最適化において、オブジェクトコードの所要記憶容量が削減できるものはどれか。
定数畳込みは命令自体を消すのでコード量が減る
選択肢
- ア関数のインライン展開
- イ定数の畳込み
- ウループ内不変式の移動
- エループのアンローリング
正解と解説
正解:イ 定数の畳込み
定数の畳込みは、コンパイル時に値が確定する演算をあらかじめ計算し、その結果の定数に置き換える最適化である。実行時の演算命令そのものが消えるので、生成されるコードの量が減り、実行速度も上がる。これに対し、インライン展開やループ展開は実行速度を狙って命令を複製するため、コード量は増える方向に働く。
選択肢ごとの解説
- ア呼出し先の本体を展開して複製するため、コード量は増える。
- イ正しい。コンパイル時に計算して定数に置き換えるので命令が減る。
- ウループ外へ移すだけで命令自体は残るため、記憶容量の削減にはつながらない。
- エループ本体を複製して繰返し回数を減らす手法で、コード量は増える。
同じ分野の他の問題
- サブルーチンへの引数の受渡し方のうち、引数として渡した変数の値が、サブルーチンの実行後に変更されないことが保証されている…2019年度 春期 午前II 問24
- コンパイラによる最適化において、オブジェクトコードの所要記憶容量が削減できるものはどれか。2019年度 春期 午前II 問11
- 組込み機器を含めた、様々なハードウェアアーキテクチャに向けて、カスタムのLinuxディストリビューションを構築するための…2025年度 秋期 午前II 問8
- 優先度に基づくプリエンプティブスケジューリングのリアルタイムOSを使用した組込みシステムにおいて、入力装置及び出力装置に…2025年度 秋期 午前II 問6
- プロセスの切替えに関する記述のうち、ディスパッチャの説明として、適切なものはどれか。2024年度 秋期 午前II 問6
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。