【发布时间】:2020-11-11 21:02:12
【问题描述】:
我在 ubuntu 20.04 上使用介子 0.53.2。
我想要一个最大优化的可执行文件 (-Ofast) 但包含所有调试符号 (-g3)
- 如果我使用
--buildtype=release,它会优化-O2,并且可执行文件不包含调试符号。 - 如果我使用
--buildtype=debug,它根本不会优化,而是使用-g。 - 如果我使用
--buildtype=debugoptimized,它会优化-O2并使用-g。
我尝试使用--debug 似乎不起作用,因为可执行文件不包含任何调试符号。相反,如果我使用-Ddebug=true,调试符号就在那里,但带有标志-g。
那么如何让gcc 以尽可能不脏的方式使用-Ofast -g3 标志进行编译?
【问题讨论】:
-
您最好的选择是坚持
debugoptimized,请参阅this SO question 了解原因 -
@nielsdg 我根本不希望它是可调试的。我需要的东西很少,是所有堆栈跟踪中的一个。但绝对有必要优化为
-Ofast。如果我使用dubugoptimized,则优化只有-O2。
标签: linux gcc optimization meson-build