我有使用预编译头文件的代码。(之前由别人完成)
在其中,他们包含了几个.h文件。
如果我有使用常见.h文件的类,但这些文件目前不在现有的预编译头文件中,将它们放进去是否真正有益呢?也许能提高编译速度,但我认为这也会使类/头文件更加整洁?
预编译头文件的使用要注意哪些问题和禁忌?
我有使用预编译头文件的代码。(之前由别人完成)
在其中,他们包含了几个.h文件。
如果我有使用常见.h文件的类,但这些文件目前不在现有的预编译头文件中,将它们放进去是否真正有益呢?也许能提高编译速度,但我认为这也会使类/头文件更加整洁?
预编译头文件的使用要注意哪些问题和禁忌?
#include
你需要的所有内容肯定会促进这一点(这也是你不应该依赖于PCH所包含的内容的另一个原因)。#include
树的选项,这可以帮助你确定应该包含在PCH中的头文件(出现最多的头文件)。我最近在我正在工作的项目上经历了这种情况(已经使用了PCH,但不是最优化的),将750K行的C ++构建时间从大约1.5小时缩短到15分钟。这是一个权衡:系统/库头文件肯定放在PCH中,项目中的头文件则取决于具体情况。
我们的项目有大量生成的代码,与项目的其他部分相比,变更频率较低。这些头文件放在PCH中,因为在每个单独的文件中处理它们需要很长时间。如果你改变它们,代价是昂贵的,但你必须权衡这个成本和将它们放在文件中更频繁的小规模节省之间的差异。