Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Compiler construction 帧指针省略?有风险吗?_Compiler Construction - Fatal编程技术网

Compiler construction 帧指针省略?有风险吗?

Compiler construction 帧指针省略?有风险吗?,compiler-construction,Compiler Construction,我总是在我的编译器中启用此功能,它在调试过程中帮助很大,同时读取更干净的汇编代码。我认为它对速度优化方面没有太大影响,使CPU具有流水线能力,但至少它为寄存器分配打开了一个新的机会,因此获得了一个新的免费寄存器EBP(但不确定编译器是否会使用它) 我的问题是:这种方法安全吗?你有没有遇到过什么怪癖 我从未在GCC上遇到过-fomit帧指针的任何问题。但这确实会使调试变得更糟。如果软件在崩溃时产生堆栈跟踪,忽略帧指针可能会阻止其工作。注意到fomit frame pointer可能会抑制调试。否则

我总是在我的编译器中启用此功能,它在调试过程中帮助很大,同时读取更干净的汇编代码。我认为它对速度优化方面没有太大影响,使CPU具有流水线能力,但至少它为寄存器分配打开了一个新的机会,因此获得了一个新的免费寄存器EBP(但不确定编译器是否会使用它)


我的问题是:这种方法安全吗?你有没有遇到过什么怪癖

我从未在GCC上遇到过-fomit帧指针的任何问题。但这确实会使调试变得更糟。

如果软件在崩溃时产生堆栈跟踪,忽略帧指针可能会阻止其工作。

注意到
fomit frame pointer
可能会抑制调试。否则,我不认为有任何真正的风险。

它说“…尽管二进制大小可能会略有增加。此标志会中断x86和其他拱门上的调试…”我认为这与--finline函数是相同的问题