我想知道如何使用-O0,-O1和-g在库中启用调试符号。
有些建议使用-O0启用调试符号,而有些建议使用-g。

那么-g和-O0之间的实际区别是什么,-01和-O0之间的区别是什么,最好使用。

最佳答案

-O0是优化级别0(无优化,与省略-O参数相同)
-O1是优化级别1。
-g生成调试符号并将其嵌入二进制文件中。

有关更多说明,请参见gcc docs和手册页。

对于进行实际的调试,调试器通常无法理解经过优化而编译的内容,尽管调试符号即使在进行优化(例如生成堆栈跟踪)时也可用于其他方面。

关于c++ - -O0,-O1和-g有什么区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9663838/

10-09 06:00