繁体   English   中英

我应该担心g ++警告说“内联失败”吗?

[英]Should I be worried about g++ warnings saying 'inlining failed'?

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

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

G ++是在提醒什么是本质,严格意义上的性能问题-你的要求inline实现,只是不能被内联。 如果inline的使用并不重要,则应将其删除(编译器可以在没有该提示的情况下内联函数!),但是就代码正确性而言,您可以忽略该警告。 如果inline的使用确实很重要,即对性能至关重要(相对于愚蠢的过早优化而言),则警告是告诉您重新编写代码,以便可以实现(最坏的情况是,向​​下移动到宏) -叹息,但是,当你必须时,你必须!-)。

如果没有,应该保存

  • 碰到gcc中的错误
  • 预期代码中的内联函数
  • 尝试做讨厌的事情

但是,您应该尽量减少警告。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM