コンパイラ
コンパイラの最適化のレベルを指定するオプションで、最適化をしない設定(-O0など)がよく使われる場面はどれか。
- A製品として配布する、できるだけ速いプログラムを作るとき
- Bデバッガで1行ずつ動きを確かめながら、誤りを探すとき
- Cプログラムのサイズを最も小さくしたいとき
答えと解説を見る
正解:B. デバッガで1行ずつ動きを確かめながら、誤りを探すとき
最適化をしない設定では、ソースコードの各行がほぼそのままの順番で機械語に対応し、変数も常にメモリやレジスタに残るので、デバッガで1行ずつ実行したり変数の値を確かめたりしやすくなります。最適化をかけると、命令の並べ替えや変数の削除によって、ソースとの対応が分かりにくくなります。製品として速いプログラムを作るときは高い最適化レベルを、サイズを小さくしたいときはサイズ優先の設定を使います。
- A. 速いプログラムには高い最適化レベルを使います。
- B. 正しい。ソースとの対応が分かりやすく、デバッグに向きます。
- C. サイズを小さくするにはサイズ優先の設定を使います。