防止gcc内联所有函数

防止gcc内联所有函数,c,gcc,inline,C,Gcc,Inline,以下代码阻止GCC编译器内联特定函数 void __attribute__ ((noinline)) my_func() { ... } 我希望防止gcc内联所有函数。 我可以在不向所有函数添加属性的情况下执行此操作吗?避免内联的全局选项(当使用-O2或其他优化标志时)是-fno inline -fno内联 除了那些用always_inline属性标记的函数外,不要展开任何内联函数这是未优化时的默认设置。 (来源:) 如果您这样做是为了减少代码大小,我建议您加入-Os选项(针对大小进行

以下代码阻止GCC编译器内联特定函数

void __attribute__ ((noinline)) my_func() 
{
  ... 
}
我希望防止gcc内联所有函数。
我可以在不向所有函数添加属性的情况下执行此操作吗?

避免内联的全局选项(当使用
-O2
或其他优化标志时)是
-fno inline

-fno内联 除了那些用always_inline属性标记的函数外,不要展开任何内联函数这是未优化时的默认设置。

(来源:)


如果您这样做是为了减少代码大小,我建议您加入
-Os
选项(针对大小进行优化)

-fno inline
是IIRC选项。我已经发布了一个答案,没有找到一个好的副本。