问题标签 [ccache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cross-compiling - 使用自动工具进行交叉编译时使用 ccache
我知道交叉编译基于 autoconf 的项目的标准方法:
$ ./configure --host=i686-w64-mingw32
但是,如果我想使用 ccache 怎么办?
我知道我可以覆盖 CC 和 CXX 变量(例如 CC="ccache i686-w64-mingw32-gcc" ./configure --host=i686-w64-mingw32)。然而,这似乎是多余的并且容易出错。
有没有标准的方法,我错过了,比如一些 CC_PREFIX 变量?
c++ - 如何在多个架构中使用 ccache 和 gcc -march=native?
gcc 的 -march=native 选项会根据主机的体系结构生成不同的代码。ccache 不会将机器架构存储在其哈希中,这意味着如果您更改机器的架构,例如切换到高性能 VPS 节点,缓存的目标文件可能不兼容。
如何确保在利用缓存的同时获得正确的目标文件?
c++ - ccache中使用了哪种缓存算法?
我试图找到有关 中使用的缓存算法的任何信息ccache
,但没有找到任何信息。那么,有谁知道达到max_sizeccache
时如何驱逐元素?LRU?MRU?“环形缓冲区”?
c++ - ccache 缓存未命中会大大降低编译速度
刚刚开始使用基于本教程的 ccache ,到目前为止我喜欢它。但是,缓存未命中非常慢。这是我的结果:
我不确定从哪里开始调试。性能页面 ( https://ccache.samba.org/performance.html ) 提到了 make 文件的复杂性如何减慢编译速度,但在这种情况下,我使用 Xcode,所以调用 ccache 应该相对较快。我期待一些性能下降,但不是这么多!
我当前的设置使用 3.2.5 版本:
请注意,我确实使用了 pch,如果这改变了一些东西的话。
docker - 在 docker 内部构建时使用 ccache
我正在将 C++ 项目的构建移动到 docker 映像中。该图像将由 Jenkins 作业构建和推送。在使用 docker 之前,我大量使用 ccache 来加速我在 Jenkins 上的构建,尤其是在几乎没有变化的构建的情况下。docker 的问题是构建现在运行在一个隔离的环境中,所以我不能再从 ccache 中受益。有没有办法在临时容器内部构建,同时仍然利用 ccache?
c++ - ccache 是否完全优于 gcc 的预编译头文件?
为了加快 gcc 的编译时间,我们有两种选择:
- 缓存
- gcc 的预编译头文件
但是,我不知道在什么情况下哪个更好。
我用谷歌搜索了这个问题,并得到一些模糊的印象,即 ccache 完全优于另一个。那正确吗?
android - 在 Android Studio 2.3 中使用 ccache
有谁知道如何使用 cacche 从 Android Studio 2.3 构建 NDK?
当我从命令行构建我的 Android 应用程序时,它工作正常并且所有编译的文件都被正确缓存。
./gradlew assembleDebug
但从 Android Studio 构建,它不使用 ccache。
ccache - 对不同目录中的同一文件有 ccache 链接
我正在ccache
使用git-worktree
. 许多相同的文件在多个目录中共享。问题是ccache
不检查文件是否相同,并再次编译。是否有ccache
允许它跨多个源目录检查缓存的选项?
xcode - Xcode Address Sanitizer 与 ccache
我正在尝试在 Xcode 中使用 Address Sanitizer,但我也在使用 ccache 来加速我的构建。为此,我CC
在 Xcode 项目级别设置了标志,以指向我存储在~/projects/support/cmake/ccache-clang
. 脚本读取
这样就达到了预期的效果(如果安装在开发人员的系统上,则使用ccache)。这运作良好。
现在,当我们为给定方案打开 Address Sanitizer 时,问题就来了。构建成功完成,但是当我们尝试运行时,我们终于看到了这个错误:
也许这是由于 Xcode 中的一些 hacky 实现,它试图解析编译器的路径以确定版本?
想知道如何修改我的脚本以允许 Address Sanitizer 工作。当前的解决方法是CC
在我们需要进行消毒工作时删除覆盖的标志。
使用 Xcode 8.3.1