目录
当前位置: 首页 > 文档资料 > 实用 gcc 小技巧 >

禁止函数被优化掉

优质
小牛编辑
125浏览
2023-12-01

例子

#if (GCC_VERSION > 4000)
#define DEBUG_FUNCTION __attribute__ ((__used__))
#define DEBUG_VARIABLE __attribute__ ((__used__))
#else 
#define DEBUG_FUNCTION
#define DEBUG_VARIABLE
#endif

DEBUG_FUNCTION void
debug_bb (basic_block bb)
{
  dump_bb (bb, stderr, 0);
}

技巧

上面的例子是gcc的源码。使用gcc的扩展功能——函数属性__attribute__ ((__used__)),可以指定该函数是有用的,不能被优化掉。

详情参见 gcc手册