c++ - 为 make/g++ 缓存头文件

标签 c++ linux caching makefile g++

我正在处理大型 C++ 代码库,我想加快其编译时间。我知道的一件事是我所有的图书馆都在一个网络驱动器上,这会大大降低速度。如果我可以让 make 或其他东西自动缓存它们,无论是在/tmp 中,还是到 ramdisk 中,我希望这能大大缩短我的编译时间。有没有办法做到这一点?当然,我可以手动复制它们并设置一个同步作业,但是每个开发人员都必须在他们编译的每个盒子上这样做,所以我正在寻找一个自动化的解决方案。

谢谢!

最佳答案

当然。有很多很多方法。您可以只制定一个复制内容的 make 规则,然后让人们运行 make copylocal 或其他任何东西。这很快,但人们必须记住这样做,如果库更改很多,这可能会很烦人。您可以制定一个规则来复制一些东西,然后将其作为其他目标的先决条件,以便在每次构建时首先完成。这将花费更长的时间:复制步骤加上使用本地拷贝是否会比仅使用远程拷贝花费更长的总时间?谁知道呢?

您还可以使用 ccache 之类的工具在本地缓存编译的结果,而不是复制库 header 。这将为典型的小型增量构建节省更多成本,并且可以轻松集成到构建系统中,但它会稍微减慢“重建世界”缓存对象的步骤。

等等。你的问题太开放了,不容易回答。

关于c++ - 为 make/g++ 缓存头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21486469/

相关文章:

c++ - 如何在qt/c中打印所有小数的long double?

关闭动态创建的线程

c# - 如何检查 MemoryCache 中是否存在键

c++ - c++调试:从控制台调试语句

c++ - 如何避免样板代码构造函数?

php - Azure 应用服务 - 托管免费 PHP 网站

linux - 将 bash 变量分配给 X 或 Y

ios在页面更改时暂停音频

ruby-on-rails - Rails 中 DataMapper 对象的替代序列化

c++ - Pragma 注释 C++