2016-06-20 1 views
1

を不思議でしたか?特定の最適化レベルを追加する必要がありますか?gccは連続した追加を最適化しますか?これに</p> <pre><code>foo(a + 2 + 3); </code></pre> <p>:</p> <pre><code>foo(a + 5); </code></pre> <p>それとも、それが2つの加算に変換さん私は、gccが、これは(値はGCCに不明である整数として<code>a</code>を考慮)最適化しない

ありがとうございます!

+2

GCCがどのアセンブリをコンパイルするかを見るには '-S'オプションを使います。 –

+0

これは「定数折り畳み」と呼ばれています。 –

答えて

1

はい。最適化が有効になっていなくてもそうです。

それはなぜなら、たとえばにあります

int x[2+2]; 

はサイズがコンパイル時に知られなければならないにも関わらず、法律上のCです。

+0

非常に良い答えと例! –

関連する問題

 関連する問題