在我正在办公室工作的项目中,当我们编译发布版本(使用-Os)时,我们会收到来自g ++的数百条警告,说内联失败了。大多数这些警告似乎来自boost,但有些来自我们自己的库头文件(我们链接到的二进制.dylibs)。这些警告通常可以被安全地忽略,还是我应该担心的?
注意:我们在Mac OS X上使用g ++ 4.0
答案 0 :(得分:3)
g ++警告基本上是什么,严格来说是性能问题 - 你要求的inline
实现是无法内联的。如果你使用inline
并不重要,你应该删除它(编译器能够在没有提示的情况下内联函数,你知道! - ),但是在代码正确性方面,你可以忽略警告。如果您对inline
的使用确实很重要,即对您的性能至关重要(而不是愚蠢的过早优化),警告会告诉您重新编写代码以便实现(最坏情况下,向下移动到宏 - 叹息,但是,当你必须的时候,你必须! - )。
答案 1 :(得分:0)
如果你不
,应该保存你应尽量减少警告。