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