标签: gcc optimization cpu-registers register-allocation
当我使用gcc -O2来优化我的程序时,gcc会更改寄存器RBP的值。但是我想把它保留为FRAME BASE REGISTER,怎么做?
gcc -O2
与GCC: Prohibit use of some registers
答案 0 :(得分:1)
-fomit-frame-pointer在优化级别-O,-O2,-O3,-Os
-fomit-frame-pointer
您需要使用-fno-omit-frame-pointer
-fno-omit-frame-pointer
然而,除非您正在调试并需要跟踪堆栈帧,否则保留帧指针的理由并不多。在这种情况下,请改用-Og
-Og