2009-08-15 92 views
2

我总是在我的编译器中启用此功能,它在调试时帮助了很多,同时阅读更干净的汇编代码。我认为它不会对速度优化产生重大影响,让CPU有能力进行流水线处理,但至少它确实为寄存器分配开辟了新的机会,因此获得了一个新的免费寄存器EBP(不确定编译器是否可以使用它)帧指针省略?有风险吗?

我的问题是:这种方法是否安全了?你有没有遇到过任何特殊之处?

回答

2

如果您的软件在崩溃时产生堆栈跟踪,则省略帧指针可能会阻止该工作。

0

我从来没有遇到过GCC上的-fomit-frame-pointer的问题。但它确实使调试更糟糕。

0

Gentoo wiki注意fomit-frame-pointer可以禁止调试。否则,我不认为有任何真正的风险

+0

它说:“...虽然二进制大小可能会略微增加。该标志打破x86和其他拱门上的调试...”我认为这与--finline-functions – ZeroCool 2009-08-15 18:29:49