-- 作者 谢恩铭 转载请注明出处

源码项目编译ccache配置


一般来说,我们在编译大型项目时,总会用到make之类的命令。比如我们公司目前的Android项目代码,已经很大了,有几百万行的代码量。

底层是C语言,Perl,C++,上层是Java。这样的项目每一次编译都需要耗费不少时间。

如何才能加快编译时间呢?今天来推荐一个很好用的工具:ccache

ccache(“compiler cache”的缩写,就是英语“编译器缓存”的意思)工具会高速缓存编译生成的信息,并在编译的特定部分使用高速缓存的信息。

比如它会缓存头文件,这样就节省了通常使用 cpp 解析这些信息所需要的时间。

不是真正去读取、解释其内容,ccache 只是将最终的文本拷贝到文件中,使得它可以立即被编译。

使用ccache可以大大加快编译速度:第一次编译速度会比较慢一些,但是一旦在第一次编译中ccache把一些中间文件拷贝到了缓存中,那之后的编译就会快得飞起,因为不需要再重新生成这些中间文件。

关于ccache很详细的解释和用法可以参考这篇文章。
通过 ccache 改善协同构建时间

我就不赘述了。只演示如何快速上手ccache。

以Debian这个Linux发行版(Ubuntu也属于此家族)为例:

安装


sudo apt-get install ccache

使用


ccache -s   # 显示状态参数 (s是英语status的缩写,表示《状态》)
ccache -C   # 清除缓存(C是大写的,是英语Clear的缩写,表示《清除》)

配置


  • 编辑 .bashrc 文件
vim ~/.bashrc
  • 在其中加入以下三行
export NDK_CCACHE = ccache
export CCACHE_DIR = ~/.ccache      # (目录随便指定)
export PATH = /usr/lib/ccache:$PATH
  • source命令使修改立即生效
source ~/.bashrc
  • 分配缓存大小
ccache -M 2G    #(分配2G缓存)

好了,从此以后尽享ccache带来的飞一般编译感觉吧。


我是谢恩铭,在巴黎奋斗的软件工程师。
热爱生活,喜欢游泳,略懂烹饪。
人生格言:「向着标杆直跑」