[英] How can I tell gcc not to inline a function?
假设我在源文件中有这个小函数
static void foo() {}
我构建了一个优化版本的二进制文件,但我不希望这个函数内联(出于优化目的).有没有可以在源代码中添加宏来防止内联?
假设我在源文件中有这个小函数
static void foo() {}
我构建了一个优化版本的二进制文件,但我不希望这个函数内联(出于优化目的).有没有可以在源代码中添加宏来防止内联?
您需要特定于gcc
的noinline
属性.
此函数属性防止 函数不会被考虑为 内衬.如果函数没有 有副作用,有 优化,而不是内联 使函数调用得到优化 离开,尽管函数调用是 活着.为了不让这样的电话 优化了,把
asm ("");
个
按如下方式使用它:
void __attribute__ ((noinline)) foo()
{
...
}
当它们都是字符时,为什么我不能使用 strcat 组合这两个字符?
SIMD - 如何从不同元素宽度的 2 个向量中添加相应的值(char 或 uint8_t 添加到 int)
浮点文字中有效十进制数字的最小数量是多少,以尽可能正确地表示该值?
是否有更高性能的 powf(10,floorf(log10f(x))) 实现
| vs < 用于标准输入和标准输出,在 C 中使用拼接、管道和 tee 命令
我怎样才能在另一个宏中使用一个宏来将宏的定义连接到某个东西? C/C++
如果平台上“long”和“int”的大小相同 - “long”和“int”有什么不同吗?
升级到 Catalina 10.15 后无法在 Mac 上编译 C 程序