Make/g 的缓存标头文件

Cache header files for make/g++

本文关键字:文件 缓存 Make      更新时间:2023-10-16

我正在处理大型C 代码库,我想加快其汇编时间。我知道的一件事是,我所有的库都包含在网络驱动器上,这会减慢很多东西。如果我可以在/tmp或ramdisk中自动缓存它们,或者可以自动缓存它们,我希望这会为我改善我的编译时间。有没有办法做到这一点?当然,我可以手动复制它们并设置同步作业,但是每个开发人员都必须在他们编译的每个盒子上执行此操作,因此我正在寻找一个自动解决方案。

谢谢!

当然。有很多方法。您只能拥有一个复制事物的规则,然后让人们运行make copylocal或其他任何内容。这很快,但是人们必须记住这样做,如果图书馆改变了很多,这可能会很烦人。您可以制定一个复制事物的规则,然后将其作为其他目标的先决条件,以便在每个构建中完成。这将花费更长的时间:复制步骤加上本地副本会比使用远程副本更长的时间?谁知道?

您还可以使用诸如CCACHE之类的工具来局部缓存编译的结果,而不是复制库标题。这将为您提供更多的节省,用于典型的小型增量构建,并且很容易集成到构建系统中,但是它将稍微放慢速度的"重建世界"步骤以缓存对象。

等。您的问题太开放了,无法轻易回答。

避免使用网络文件系统进行代码。使用诸如git的版本控制系统。

您也可以考虑使用CCACHE。