我想知道如何使用-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/