gcc 是否优化连续添加?
Does gcc optimize successive additions?
我想知道,gcc 是否对此进行了优化(将 a
视为 gcc 未知的整数):
foo(a + 2 + 3);
对此:
foo(a + 5);
还是将其转换为两个加法?我是否必须添加特定的优化级别?
谢谢!
是的。即使没有启用优化,它也会这样做。
它必须是因为例如:
int x[2+2];
是合法的 C,即使在编译时必须知道大小。
我想知道,gcc 是否对此进行了优化(将 a
视为 gcc 未知的整数):
foo(a + 2 + 3);
对此:
foo(a + 5);
还是将其转换为两个加法?我是否必须添加特定的优化级别?
谢谢!
是的。即使没有启用优化,它也会这样做。
它必须是因为例如:
int x[2+2];
是合法的 C,即使在编译时必须知道大小。