ccache编译器缓存使用方法
ccache(全称:compiler cache)是一个编译器缓存,该工具会高速缓存编译生成的信息,并在编译的特定部分使用高速缓存的信息,比如头文件,这样就节省了通常使用 cpp 解析这些信息所需要的时间。
ccache 主页:https://ccache.dev/
文档地址:https://ccache.dev/documentation.html
GitHub 源码:https://github.com/ccache/ccache
1. 安装 ccache
要安装 ccache,执行以下命令:
sudo apt install ccache
2. qmake 设置
打开 .pro,添加以下配置,ccache 就可以工作了:
QMAKE_CXX = ccache $$QMAKE_CXX
从 Qt 5.9 开始,有一个更简单的方式:
load(ccache)
3. cmake 配置
在 CMakeLists.txt 中添加以下配置,将 ccache 作为编译命令和链接命令的启动器:
find_program(CCACHE_FOUND ccache)
if(CCACHE_FOUND)set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
endif(CCACHE_FOUND)
4. 效果
配置完成之后,再来测试一下:
参考文献
- https://mp.weixin.qq.com/s?__biz=MzAxNDI5NzEzNg==&mid=2651163043&idx=1&sn=9082a136f14c9586d8a72be97cbb1c27&chksm=806458fcb713d1ea5eab2edb7ecdfabbf86165f6172bfdbd002528c957838be701fb9ca16dbe&mpshare=1&scene=24&srcid=0709FB78i4AaHNqtYsLaNtbs&sharer_sharetime=1625834138005&sharer_shareid=f31a2d9bea8fe6bce82834cf71333cb3&exportkey=AUSJiWDtVBsa9EtDl2rFNRA%3D&pass_ticket=b92SRe8RGSpIbHb2R98n172UQiBomBLx9wlg3U9WGxPCn7qQlAyUTpoDSsBS4cAI&wx_header=0#rd
ccache编译器缓存使用方法相关推荐
- android studio 导入库提示失败的处理方法以及androidstudio 清理缓存的方法
错误提示如下图 方法1: 导入库的时候时候回提示失败,原因呢就是远程的库没有下载过来,这个时候需要清理下缓存在重新打开就可以了 清理缓存的方法如下图 如果换没有好那么看看方法二 去build下看看ma ...
- 前端——解决微信网页清除缓存的方法
前端--解决微信网页清除缓存的方法 参考文章: (1)前端--解决微信网页清除缓存的方法 (2)https://www.cnblogs.com/fkcqwq/p/9604184.html 备忘一下.
- linux文件中链接文件系统,一种基于Linux文件系统文件链接的缓存LRU方法
一种基于Linux文件系统文件链接的缓存LRU方法 [技术领域] [0001]本发明涉及信息技术领域,特别是涉及一种基于Linux文件系统文件链接的缓存LRU方法. [背景技术] [0002]目前,随 ...
- 浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)
系统默认的缓存方式是采用File方式缓存,我们可以在项目配置文件里面定义其他的缓存方式,例如,修改默认的缓存方式为Xcache(当然,你的环境需要支持Xcache) 对于File方式缓存下的缓存目录下 ...
- java 强制清除缓存_IDEA强制清除Maven缓存的方法示例
重新导入依赖的常见方式 下面图中的刷新按钮,在我的机器上,并不能每次都正确导入pom.xml中写的依赖项,而是导入之前pom.xml的依赖(读了缓存中的pom.xml). 当然除了这些,还可以下面这样 ...
- Linux手动释放缓存的方法
Linux手动释放缓存的方法 1. 错误状态 2. 解决办法 1. 错误状态 这一年为什么文章少了呢,因为开发一直没停过,开发遇到的问题经常让人头大. 比如今天遇到个问题,启动一个服务去编译文件,直接 ...
- jquery ajax缓存问题解决方法小结
jquery ajax缓存问题解决方法小结 参考文章: (1)jquery ajax缓存问题解决方法小结 (2)https://www.cnblogs.com/zhuyeshen/p/11599254 ...
- 【Vue】—计算属性缓存VS方法以及侦听器的区别
[Vue]-计算属性缓存VS方法以及侦听器的区别
- 浏览器缓存机制及一些缓存问题解决方法
参考: http://bbs.csdn.net/topics/330028896 浏览器缓存机制 http://www.docin.com/p-591569918.html 浏览器缓存的一些问题的 ...
最新文章
- requirednew基于xml配置日志不回滚_Elasticsearch配置IK分词器的远程词库
- OpenCV车牌/数字识别
- 研究院正式启动“智源学者计划”,公布候选人名单,并发布首个联合实验室...
- Mysql数据类型之字符串的案例介绍(含latin1下varchar的最大长度是65532还是65533)
- mysql 5.7.17源码包_centos7 mysql5.7.17源码安装
- ClickHouse安装部署与SQL实战
- 百度商桥放在php网站哪里_网站优化的几个重要技巧,你知道吗?
- 历史上那些差点被扼杀的数学天才,考试、偏见都是凶手
- python排版_python排版
- linux写含输入输出的代码,linux系统管理-输入输出
- 查看服务器操作系统版本信息,查看服务器操作系统版本信息
- windows10家庭版下找不到gpedit.msc
- android检测usb设备——usb打印机
- 网络原理之TCP/UDP IP
- informatica 许可_informatica 常见问题及解决方案
- 做律师的风险不止于此啊!!
- tf.train. string_input_producer QueueRunner add_queue_runner Coordinator start_queue_runners
- 1179 -- N!
- 比尔盖茨宣布其将在两年后退休!!!
- Java I/O系统