我对-finline-function options
有疑问我们正在测试我们实现的功能是否成功内联。 这是观察
当我们尝试一起使用-O0和-finline-functions进行编译时,我们仍然发现这些函数没有内联。我们甚至尝试了一个非常简单的方法(一行返回语句)并观察到相同的结果。
因此似乎使用-finline-functions标志和-O0是多余的(它不会使函数内联)。我仍在搜索gcc / g ++手册中是否记录了这种行为。如果有人确切知道g ++如何工作指定-finline-functions和-O0,请告诉我们。
此致
答案 0 :(得分:3)
来自gcc手册(http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html):
只有在命令行上设置-O级别时,才会启用大多数优化。否则,即使指定了单独的优化标志,它们也会被禁用。
答案 1 :(得分:0)
像这样inline void foo (const char) __attribute__((always_inline));