首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是C++优化& visual studio中的全程序优化

什么是C++优化& visual studio中的全程序优化
EN

Stack Overflow用户
提问于 2012-12-19 01:12:06
回答 3查看 6.8K关注 0票数 12

从本质上讲,我想知道什么是c++优化(/O)和整个程序优化(/GL)。

希望能有更深入的解释。

谢谢

EN

Stack Overflow用户

发布于 2012-12-19 01:34:27

MSVC是一种所谓的Optimizing Compiler。OCs采用您已经编写的代码,并重写其中的一部分,以便最小化内存占用,最大化执行速度,或者两者兼而有之。他们通过利用代码要在其上运行的平台的深入技术知识来做到这一点,通常针对特定的指令集。

诸如MSVC、GCC、LLVM和许多其他公司的OCs都利用许多不同的技术来实现这一点。这些技术本身远远超出了互联网帖子所能解释的范围,即使我知道所有这些技术(我不知道)。但有些事情你应该牢记在心。

已优化的程序比未优化的程序更难调试。许多代码可能在执行顺序和程序内的位置方面都被移动了,符号也被剥离了。

一般而言,该标准允许编译器对您的程序进行任何它想要的更改,只要您的程序的可观察行为是相同的"AS-IF“,没有进行任何更改。

编译器中负责优化代码的部分是由非常聪明的人组成的专门团队多年来设计和编写的。最终的结果是一个编译器,总的来说,它在优化您的代码方面比您所希望的要好得多。通常,出于两个原因,尝试实现自己的微优化是没有意义的。首先,编译器通常可以做得更好,其次,您编写的微优化将使编译器无法实现自己的优化。通过手动微优化您的代码,您实际上可能会使您的程序性能变得更差。

票数 5
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13938089

复制
相关文章

相似问题

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