【问题标题】:What's the use of including implementation files in other implementation files? [duplicate]在其他实现文件中包含实现文件有什么用? [复制]
【发布时间】:2012-07-24 05:00:15
【问题描述】:

可能重复:
#include all .cpp files into a single compilation unit?

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

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

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

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

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

【问题讨论】:

    标签: c++ c visual-c++


    【解决方案1】:

    这称为统一构建

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

    在此处查看提供更多详细信息的相关问题:The benefits / disadvantages of unity builds?

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 在这种情况下,我会使用与 .cpp 不同的扩展名,但这是一个好点。
      猜你喜欢
      • 1970-01-01
      • 2011-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-22
      • 1970-01-01
      • 1970-01-01
      • 2021-04-03
      相关资源
      最近更新 更多