首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gcc -O0与-Og编译时间

gcc -O0与-Og编译时间
EN

Stack Overflow用户
提问于 2013-03-21 19:48:57
回答 3查看 6.1K关注 0票数 12

gcc的发布说明在-Og上有点模糊:

它解决了快速编译和优秀调试体验的需要,同时提供了合理水平的运行时性能。开发的总体经验应该优于默认的优化级别-O0。

“发展的总体经验”是否包括汇编时间?如果我不需要调试符号并为编译时间进行优化,我应该使用-O0还是-Og?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-25 02:32:50

使用-Og,编译器必须构造并写出额外的数据(用于调试),因此需要更长的时间。只需编译到汇编程序(使用gcc -S -Og等)并进行比较。但是,无论-O0-Og运行时之间有什么不同,都可能比启动gcc及其完整的机器的时间相形见绌。

如果您想要编译时间,也许您应该考虑C的tcc,也许LLVM对于C++更快。

票数 -4
EN

Stack Overflow用户

发布于 2013-03-21 19:51:46

“发展的总体经验”是否包括汇编时间?

我认为是的,但在这个非常具体的情况下不是这样。

如果我不需要调试符号并为编译时间进行优化,我应该使用-O0还是-Og?

-O0

票数 0
EN

Stack Overflow用户

发布于 2013-03-21 20:48:05

如果我不需要调试符号并为编译时间进行优化,我应该使用-O0还是-Og?

如果是否存在调试符号并不重要,请对两个选项进行时间安排,并查看哪个选项更快。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15556701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档