c++ - 在一个代码项目中_不_使用多个文件有什么好处吗? (C++)

标签 c++ code-organization

<分区>

相对于What are the advantages of using more then 1 code file for a project? (C++)我想知道不使用多个代码文件是否有(技术或其他)优势,例如,C++ 项目?

拆分成几个文件只是人为的事吗?就可见性/优化而言,机器一次处理所有这些不是更好吗?

最佳答案

将所有内容放入单个文件中会破坏文件级静态和匿名命名空间(并避免外部声明)的目的。

不过,它对编译器并没有多大好处。对于优化之类的事情,他们只需将需要全局可见性的部分实现到链接器中(大多数当前的链接器都包含此类优化/代码生成功能)。

它将(或至少可以)减少完整重建的总时间。使用单独的源文件,您将结束为包含它的每个源文件重新编译每个 header 。只有一个源文件,你只能编译一次(但预编译的头文件可以而且通常确实会减少它到它可能很少重要的程度,至少如果你使用它们)。

从实际的角度来看,它通常会缩短构建时间,而且通常会非常严重。大多数人都非常努力地尝试隔离事物,因此对程序的一部分进行更改只需要重新编译程序的一小部分。对于真正微小的程序之外的任何东西,每次您进行任何更改都必须重新编译所有内容将是完全难以管理的——对于一个体面大小的程序,您的构建时间从几秒变为几分钟。

关于c++ - 在一个代码项目中_不_使用多个文件有什么好处吗? (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15580691/

相关文章:

c++ - 如何获取给定监视器上存在的所有窗口的 HWND?

c++ - 如何在 C++ 文件中包含 list.h、queue.h 和 vector.h 等头文件?

c++ - 调试类,C++,链接器错误

c++ - 有什么比使用静态整数更好的存储信息的方法? C++

javascript - 使用 CSS 和 Javascript 组织代码

compatibility - 缩进 2 个空格是否安全?

c++ - 为什么 C++ 中的多重定义错误不是由 const int 声明引起的?

c++ - 用opencv获取帧视频

c++ - 在linux中创建一个文件

ios - MVC 模式中的文件层次结构和文件链接