【问题标题】:GCC: Questions regarding GCC 'optimisation' and 'inline' definitionGCC:关于 GCC“优化”和“内联”定义的问题
【发布时间】:2011-08-26 11:54:56
【问题描述】:

我的问题如下:

1) 如果我告诉 GCC不要优化存在于特定源文件中的代码,那么这将应用于从该文件调用的所有函数(可能驻留在不同的源文件中)还是仅针对此文件中本地存在的功能/代码?也就是说,文件优化会不会有递归行为?

2) 如果我将一个函数声明为内联函数(这样我就不会得到函数开销)并且这个函数被声明到一个文件中,我在该文件中强制 GCC 不应用优化,那么如果我从 另一个源文件,我还会得到没有优化的效果吗?

任何帮助将不胜感激。

【问题讨论】:

    标签: optimization gcc inline


    【解决方案1】:

    至第 2 题:

    如果您在另一个源中包含带有内联函数的头文件,则该函数将被内联,在它被内联之前编译它是没有意义的。

    【讨论】:

      【解决方案2】:

      优化不是递归的——如果你不优化一个文件,那么它只有那个文件中不会被优化的函数。至于内联,该函数可以内联到它编译到的文件中,通常通过#include 机制,如果这是您所要求的(这还很不清楚)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-06-10
        • 2017-11-05
        • 1970-01-01
        • 2020-05-20
        • 1970-01-01
        • 2013-11-07
        • 2016-12-09
        相关资源
        最近更新 更多