2016-06-20 44 views
1

我想知道,是否GCC优化此(考虑a作为一个整数数值是未知的GCC):gcc是否优化连续添加?

foo(a + 2 + 3); 

要这样:

foo(a + 5); 

或者它并把它转换到两个加法?我是否需要添加特定的优化级别?

谢谢!

+2

使用'-S'选项查看GCC编译的程序集。 –

+0

它被称为“不断折叠”。 –

回答

1

是的。它甚至不启用优化。

它,因为例如:

int x[2+2]; 

是合法的C,即使大小必须在编译时是已知的。

+0

非常好的答案和例子! –