为了账号安全,请及时绑定邮箱和手机立即绑定

如何告诉gcc不要内联函数?

如何告诉gcc不要内联函数?

C
慕妹3242003 2019-10-26 11:10:57
说我在源文件中有这个小功能static void foo() {}并且我构建了二进制文件的优化版本,但我不想内联此函数(出于优化目的)。我可以在源代码中添加宏以防止内联吗?
查看完整描述

3 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

GCC有一个名为


-fno-inline-small-functions


因此在调用gcc时使用它。但是副作用是所有其他小的函数也未内联。


查看完整回答
反对 回复 2019-10-26
?
莫回无

TA贡献1865条经验 获得超7个赞

一种可移植的方法是通过指针调用该函数:


void (*foo_ptr)() = foo;

foo_ptr();

尽管这会产生不同的分支指令,但这可能不是您的目标。这带来了一个好处:您的目标是什么?


查看完整回答
反对 回复 2019-10-26
  • 3 回答
  • 0 关注
  • 1059 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信