分类: C/C++
2008-11-18 18:22:25
我现在就职公司的应用,unix环境,用到了ace(Adaptive Communication Environment),基本使用c++开发,支持oracle、sybase、db2三种数据库,g++编译器,编译超慢,编译整个工程要15分钟左右;同事们都说是跟ace的使用有关;
以前都是搞unix/linux 下c比较多,都是用gcc,基本没有编译超慢的问题;到这公司后才开始搞c++,一来就碰到了这问题,一时束手无策;一直想提升这个编译速度,由于没有整段的时间搞,进展比较慢;
开始上网查了查资料,说是g++编译c++,慢就是它的天性;还有的说得慢慢等g++在这方面的改进了;后来发现了预编译头文件的方法,弄了半天,老是报"gcc: compilation of header file requested"错误,大意是不能编译头文件;考虑到使用该方法需要对整个系统做大改动(即整理所有的头文件),最终放弃了该方案;
后来无意中查到了ccache,试了试 ccache,发现真是好用:
1、下载ccache-2.4.tar.gz :
2、用root安装;
3、将所有makefile 中的 g++ 增加前缀 ccache
重新编译整个系统,第一次还是很慢(15分钟左右,第一次慢是正常现象),第二次以后,基本上就是3分钟以下了,速度大幅提升,真是帅呆了;终于把这个困扰我一个多月的事情给解决了;
详细使用说明,见:CCACHE改善协同构建时间加快编译