以下代码可防止GCC编译器内联特定函数。
void __attribute__ ((noinline)) my_func()
{
...
}
我希望阻止gcc内联所有函数。 是否可以在不将属性添加到所有函数的情况下完成?
-O2
或其他优化标志时)是-fno-inline
-fno-inline 除了那些带有always_inline属性的函数之外,不要展开任何函数。 这是默认设置,没有进行优化。
(来源: https://gcc.gnu.org/onlinedocs/gcc-4.9.1/gcc/Optimize-Options.html)
如果您这样做是为了减小代码大小,我建议您加入-Os
选项(针对大小进行优化)