1、简介
ccache(“compiler cache”的缩写)是一个gcc/g++的c语言编译器缓存,该工具会高速缓存编译生成的信息,并在编译的特定部分使用高速缓存的信息, 比如头文件,这样就节省了通常使用 cpp 解析这些信息所需要的时间。如果某头文件中包含对其他头文件的引用,ccache会用那个文件的 cpp-parsed版本来取代include声明,不是真正去读取、理解并解释其内容,ccache 只是将最终的文本拷贝到文件中,使得它可以立即被编译。ccache是以空间换取速度,ccache非常适合经常make clean(或删除out目录)后重新编译的情况。
ccache能做什么
简单来说,ccache将基于单条gcc编译命令级别颗粒,将本次编译命令的产物,复制进行压缩一份到缓存目录中,下次编译的时候, 如果检测到相同编译命令,并且没有修改输入的源文件(当前c/cpp或依赖的头文件) ,则直接读取缓存目录中上次编译流程,省去编译时间,从而优化编译时长。
对项目工程而言,一次代码修改仅会改变极少量的源文件,使用ccache只会重新编译修改部分的代码相关的源文件,而未进行修改的源文件则可以直接使用缓存优化了编译时长。
2、安装与配置
推荐手动安装:
从 ccache Releases 页面 或 访问 ccache 官方下载页面 下载最新的 Windows 版本(带 .zip
),解压到合适的路径,并把解压路径添加到 系统环境变量 PATH 中。如图:
解压后如图:
将路径:F:\ccache-4.11-windows-x86_64 加入环境变量:
点击确定后,来到你的IDE,此处使用CLion作为示例:
在CMake选项里面加上:
-DCMAKE_C_COMPILER_LAUNCHER=ccache
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
大功告成。。。