在Windows下使用ccache

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

 大功告成。。。

### 如何在 Windows 11 上安装 ccache ccache 是一种用于加速 C/C++ 编译过程的编译器缓存工具。要在 Windows 11 上成功安装和配置 ccache,可以按照以下方式操作: #### 使用 Chocolatey 安装 ccache Chocolatey 是一个类似于 CentOS 的 yum 或 Ubuntu 的 apt 的包管理工具,它可以帮助你在 Windows 平台上轻松安装软件而无需担心广告或其他干扰因素[^2]。 通过命令行执行以下步骤来完成安装: ```powershell Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) choco install ccache ``` 上述脚本会先设置 PowerShell 执行策略以便运行外部脚本文件,接着下载并安装 Chocolatey 工具本身,最后利用 `choco` 命令安装 ccache 软件。 #### 配置环境变量 安装完成后,需确认系统的 PATH 环境变量已包含 ccache 可执行程序路径。通常情况下,Chocolatey 自动处理此部分;如果未自动加入,则手动添加其默认目录到系统环境变量中(一般位于 `C:\ProgramData\chocolatey\bin` 下)。 #### 测试安装 打开一个新的 CMD 或者 PowerShell 终端窗口输入下面这条指令验证是否正确设置了 ccache: ```bash ccache --version ``` 该命令应当返回当前版本号以及一些其他信息表明 ccache 成功部署于您的机器之上。 #### 结合 Nginx 示例注意事项 虽然这与具体问题无关,但如果计划在同一台设备上同时运行像 Nginx 这样的服务时,请注意不要直接双击 `.exe` 文件启动它们,因为那样可能会引起无法正常停止或者重新加载配置等问题,建议始终经由命令提示符界面来进行这些操作以避免不必要的麻烦[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值