linux - 如何有选择地使用ccache?

标签 linux gcc ccache

我必须编译一个用 C++ 编写的应用程序的多个版本,我想使用 ccache 来加速这个过程。

ccache howtos 有示例建议创建名为 gcc、g++ 等的符号链接(symbolic link),并确保它们出现在原始 gcc 二进制文件之前的 PATH 中,因此改为使用 ccache。

到目前为止一切顺利,但我只想在编译这个特定应用程序时使用 ccache,并非总是如此。

当然,我可以编写一个 shell 脚本,每次我想编译应用程序时尝试创建这些符号链接(symbolic link),并在编译应用程序时删除它们。但这对我来说像是文件系统滥用。

有没有更好的方法来选择性地使用 ccache,而不是总是?

对于单个源代码文件的编译,我可以手动调用 ccache 而不是 gcc 并完成,但我必须处理一个复杂的应用程序,该应用程序使用多个源代码文件的自动构建系统。

最佳答案

绕过缓存只是:

export CCACHE_DISABLE=1

更多信息:

man ccache

...

        If you set the environment variable CCACHE_DISABLE then ccache will just call the real
       compiler, bypassing the cache completely.

...

关于linux - 如何有选择地使用ccache?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2693805/

相关文章:

c - 除了最后一个之外,所有 #pragma GCC 诊断均被忽略

c - ccache "called for link"是什么意思

c++ - ccache用的是哪种缓存算法?

linux - appassembler maven 插件未对生成的脚本设置 "execute"权限

python - 如何使用 SWIG 生成跨平台界面?

c - 嵌套循环、内循环并行化、重用线程

gcc - 在不同目录中使用已编译文件的绝对路径时,如何进行ccache缓存编译?

linux - BlueZ:移除与 BLE 设备的绑定(bind)不起作用

c++ - 应用程序中两个不同版本的库

java - jboss_init_redhat 不工作