在其他实现文件中包含实现文件有什么用?



可能重复:
#是否将所有.cpp文件都包含在一个编译单元中?

我正在MSVS中进行一个项目,其中大多数实现文件(.cpp)都被排除在构建之外,并包含在编译的单个源文件中。

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

由于b.cppc.cpp不是自己编译的,所以这是可以的

我知道这不是标准做法,我知道陷阱,我可能不会这么做(当然,除非有人拿出一个好的理由)

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

这被称为统一构建

它应该可以加快源代码的编译速度。

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

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

最新更新