为什么ccache不经常与gcc一起使用?

Hak*_*kar 6 c++ ccache

我一直想知道......

ccache有一些限制吗?

如果后期编译时间的差异如此之大,为什么更多Linux开发人员不经常使用ccache?

Dav*_*eas 9

我想简单的答案就是ccache当构建系统被破坏时很好(即,依赖关系没有被正确跟踪,并且可以正确地构建所有内容make clean; make).另一方面,如果正确跟踪依赖关系,那么ccache将不会产生任何优于plain的优势make,并且实际上会产生维护缓存和更新缓存的成本(缓存的大小可能很大,具体取决于项目的大小)

  • 当我切换分支时,我使用的构建系统会绊倒,而ccache确实对此有所帮助. (4认同)
  • +1:编写正确的,非递归的makefile并观察那些并发构建的飞行 (2认同)
  • 当您在广泛包含的标题中更改某些内容然后将其更改回来时,ccache也非常有用.(或者,如果您所做的只是修复了此类标题中的注释中的拼写错误.) (2认同)
  • 如果您在大型项目(例如 Chromium)的历史中来回跳转,`ccache` 是无价的。或者,如果您保留多次结帐。或者,如果您是必须诊断和修复那些不正确的 makefile 的人。 (2认同)