【发布时间】:2015-01-25 13:47:17
【问题描述】:
当我使用gcc -O2 优化我的程序时,gcc 会更改寄存器 RBP 的值。但是我想把它保留为FRAME BASE REGISTER,怎么做呢?
【问题讨论】:
-
不可能禁止使用RSP。而且这和寄存器分配关系不大,因为 RSP 和 RBP 不是通用寄存器
-
除非您真的需要
%rbp用于其他目的,否则这并没有多大用处。 x86-64 的注册压力较小。 -
感谢您的回答,很抱歉我没有清楚地描述我的问题,正如@Lưu Vĩnh Phúc 所说:“跟踪堆栈框架”是关键词。 :)
标签: gcc optimization x86-64 stack-frame register-allocation