前言
大家好,我是Jim Hogg,是一名项目经理,在微软雷德蒙德总部的 Visual C++ 编译团队工作。具体来讲,我们的编译器可以优化你的代码,既能让它运行得很快,又可以使你的代码更简洁。
在这一系列博文里,我会讲解一些能够让你的代码运行得更快的一些优化方法。我还会引入一些例子,看看各种各样的代码优化会带来哪些好处。然后我将讲述一些我们团队新添加的一些优化方法, 看起来不怎么明显,却让你的代码有着惊人的改变。
这个系列博文适合于哪些人阅读呢?任何对编译原理感兴趣的人,想知道编译器是如何让你的代码运行更快的。另一方面,有一些阻止或者抑制优化的模式,掌握了这些知识,你就可以随意优化你的代码,让程序跑得更快。
要理解这些文章,需要掌握哪些预备知识呢? 首先要有C或C++的编程基础(大多数的例子,我都是用的C,以便于理解,只有到最后,才会有一些特定于C++代码的优化检查――像去虚拟化)。最好还能 看懂64位的汇编代码,这样你就能够看到代码优化带来的变化。但这不是一个硬性要求――我会尽力提供一些见解,而不是去深挖那些编译器自动生成的二进制机 器码。
我创建了一个列表,包含了该系列博客文章的目录,每次发布文章,都会更新。
01. 前言(此篇文章)
02. 概述――C++代码的编译过程
03. 合并常量
04. 消除冗余代码
05. ..
06. …
07. 内联函数
08. …
09. …
10. 全程序优化(链接时代码生成)
11. …
原文链接:http://blogs.msdn.com/b/vcblog/archive/2013/05/29/optimizing-c-code.aspx