0

当我gcc -O2用来优化我的程序时,gcc 会改变寄存器 RBP 的值。但我想将其保留为 FRAME BASE REGISTER,如何做到这一点?

与以下问题不同:GCC:禁止使用某些寄存器

4

1 回答 1

2

-fomit-frame-pointer默认情况下在优化级别启用 -O、-O2、-O3、-Os

你需要使用-fno-omit-frame-pointer

但是,除非您正在调试并且需要跟踪堆栈帧,否则没有太多理由保留帧指针。在这种情况下,请-Og改用

于 2014-11-27T08:05:35.360 回答