2

可能重复:
#include 所有 .cpp 文件到单个编译单元中?

我正在处理 MSVS 中的一个项目,其中大多数实现文件 ( .cpp) 从构建中排除并包含在编译的单个源文件中。

//a.cpp
#include "b.cpp"
#include "c.cpp"
//and so on...

而且因为b.cppandc.cpp不是自己编译的,所以没关系。

我知道这不是标准做法,我知道其中的陷阱,我可能不会这样做(当然,除非有人提出充分的理由)。

所以问题是——这种技术有什么用?它是否使编译更快(也考虑分布式编译环境)?

4

2 回答 2

3

这称为统一构建

它应该加速源代码的编译。

请参阅此处提供更多详细信息的相关问题:统一构建的好处/缺点?

于 2012-07-25T17:25:49.150 回答
3

另一点可能是一些实现文件可以自动生成。自动生成整个文件比处理对现有代码的更改注入要容易得多。就像 C# 中的部分类。

于 2012-07-25T17:30:35.480 回答