相关疑难解决方法(0)

试图理解gcc选项-fomit-frame-pointer

我让Google告诉我该gcc选项的含义-fomit-frame-pointer,它将我重定向到以下声明.

-fomit帧指针

不要将帧指针保存在寄存器中以查找不需要的函数.这避免了保存,设置和恢复帧指针的指令; 它还在许多功能中提供额外的寄存器.它还使某些机器无法进行调试.

根据我对每个函数的了解,将在进程内存的堆栈中创建激活记录,以保留所有局部变量和更多信息.我希望这个帧指针意味着一个函数的激活记录的地址.

在这种情况下,什么是函数类型,它不需要将帧指针保持在寄存器中?如果我得到这个信息,我会尝试设计基于它的新函数(如果可能),因为如果帧指针没有保存在寄存器中,一些指令将在二进制中省略.在具有许多功能的应用程序中,这将显着提高性能.

c optimization performance gcc

74
推荐指数
3
解决办法
5万
查看次数

标签 统计

c ×1

gcc ×1

optimization ×1

performance ×1