网络寻租

Programmer, Gamer, Hacker

Qt编译加速以及使用预编译头

| Comments

方法

上次讲了如何使用预编译头来加速编译,现在给出一个Qt程序实际的例子,来演示 预编译头的好处.

我们采用qmake来编译Qt程序,qmake本身支持预编译头, 文档在这:http://doc.trolltech.com/3.3/qmake-manual-7.html

使用方法很简单,在pro文件里面加上这几行即可:

PRECOMPILED_HEADER = lib.hpp #头文件名
CONFIG += precompile_header #设置使用预编译头功能

示例

以下是我测试项目的例子. 文件目录:

halida@halida-desktop:~/temp/build-qt$ ls
build-qt.pro   lib.hpp    main.cpp   shower.cpp    shower.hpp

没有使用预编译头时消耗的时间:

halida@halida-desktop:~/temp/build-qt$ touch *.cpp
halida@halida-desktop:~/temp/build-qt$ time make>>/dev/null
real    0m7.292s
user    0m4.696s
sys     0m2.340s

使用预编译头后消耗的时间:

halida@halida-desktop:~/temp/build-qt$ touch *.cpp
halida@halida-desktop:~/temp/build-qt$ time make>>/dev/null
real    0m2.416s
user    0m1.324s
sys     0m1.004s

很明显,提升了相当多的速度.

例子可以在这里下载: http://linjunhalida.72pines.com/files/2010/09/build-qt.zip

Comments