欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

GCC帧指针的开启与关闭以及反汇编测试

程序员文章站 2022-07-14 12:45:24
...

编译阶段:

  • -fno-omit-frame-pointer:开启帧指针
  • -fomit-frame-pointer:关闭帧指针

代码中添加:

  • __attribute__((optimize("no-omit-frame-pointer"))) 修饰函数,开启帧指针
  • __attribute__((optimize("omit-frame-pointer"))) 修饰函数,关闭帧指针

反汇编测试

#ifdef OFF
#define _frame_pointer	__attribute__((optimize("omit-frame-pointer")))
#else
#define _frame_pointer
#endif

_frame_pointer int foo()
{
	int i = 0;
	return i+1;
}
GCC帧指针的开启与关闭以及反汇编测试
开启帧指针(左)和关闭帧指针(右)对比
相关标签: # 【GNU/GCC】