本文介绍从源文件开始到目标代码生成的过程.首先,是我们每天都要接触的源文件.源文件是由纯ASCII或者其他字符集组成的文本,由程序员使用文本编辑器创建.它有以下的几种形式纯文本.好处是易于维护.并且可以使用处理文本文件的程序来处理源文件.这个就是我们最常见的源代码形式了.甚至可以使用notepad来...
分类:
其他好文 时间:
2014-06-10 20:00:22
阅读次数:
309
1、右值引用引入的背景临时对象的产生和拷贝所带来的效率折损,一直是C++所为人诟病的问题。但是C++标准允许编译器对于临时对象的产生具有完全的自由度,从而发展出了Copy
Elision、RVO(包括NRVO)等编译器优化技术,它们可以防止某些情况下临时对象产生和拷贝。下面简单地介绍一下Copy E...
分类:
其他好文 时间:
2014-06-04 18:55:44
阅读次数:
368
前言网上关于编译优化的文章很多,但大多零零散散,不成体系,本文试图给出一个完整和清晰的优化思路,同时提供在实践中如何进行优化的详尽参考。但是,在介绍所有优化知识之前首先引用LFS-Book中的一句忠告:“使用编译器优化得到的小幅度性能提升,与它带来的风险相比微不足道”。你还要进行优化吗?%@&#=^...
分类:
其他好文 时间:
2014-05-10 02:41:00
阅读次数:
371
寄存器分配,是通过将程序变量尽可能地分配到寄存器,从而提高程序执行速度的一种方法。寄存器是编译器优化中最为重要的问题之一(好的寄存器分配能够提高程序执行速度超过250%);也是编译器理论中最热点的研究领域之一(研究界已经提出来大量寄存器分配相关的算法)。1.
图着色(graph coloring)方...
分类:
其他好文 时间:
2014-04-29 14:25:08
阅读次数:
530