【发布时间】:2013-04-27 00:48:34
【问题描述】:
如果我使用-O0 运行 gcc,并使用here 中提到的技术手动优化我的代码,通常情况下,当我运行 gcc 时,我优化的代码会比未优化的代码运行得更快-O3?
也就是说,如果我在特定编译器优化级别下手动优化代码,这些优化在不同(更高或更低)编译器优化级别下通常是否仍然有效(而不是适得其反)?
【问题讨论】:
-
不一定。编译器可以很好地理解简单的代码,并且可以很好地对其进行优化。编译器不能很好地理解复杂的手动优化代码,因此它通常无法像简单代码一样优化它。但它知道一些常见的成语,可以毫无问题地处理。
标签: c optimization gcc