我是否应该担心g ++警告说'内联失败'?

时间:2009-09-05 01:58:49

标签: c++ g++ warnings inlining

在我正在办公室工作的项目中,当我们编译发布版本(使用-Os)时,我们会收到来自g ++的数百条警告,说内联失败了。大多数这些警告似乎来自boost,但有些来自我们自己的库头文件(我们链接到的二进制.dylibs)。这些警告通常可以被安全地忽略,还是我应该担心的?

注意:我们在Mac OS X上使用g ++ 4.0

2 个答案:

答案 0 :(得分:3)

g ++警告基本上是什么,严格来说是性能问题 - 你要求的inline实现是无法内联的。如果你使用inline并不重要,你应该删除它(编译器能够在没有提示的情况下内联函数,你知道! - ),但是在代码正确性方面,你可以忽略警告。如果您对inline的使用确实很重要,即对您的性能至关重要(而不是愚蠢的过早优化),警告会告诉您重新编写代码以便实现(最坏情况下,向下移动到宏 - 叹息,但是,当你必须的时候,你必须! - )。

答案 1 :(得分:0)

如果你不

,应该保存
  • 点击了gcc中的错误
  • 预计代码中的内联函数
  • 尝试做讨厌的事情

你应尽量减少警告。