代码之家  ›  专栏  ›  技术社区  ›  Grant Limberg

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

  •  1
  • Grant Limberg  · 技术社区  · 15 年前

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

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

    2 回复  |  直到 15 年前
        1
  •  3
  •   Alex Martelli    15 年前

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

        2
  •  0
  •   Wienczny    15 年前

    如果你不这样做的话,它应该是节省的

    • 在GCC中命中一个错误
    • 预期代码中的内联函数
    • 试着做坏事

    不过,您应该尽量减少警告。