Pat*_* B. 3 c++ code-organization
与为项目使用多于1个代码文件有什么好处相反?(C++)我想知道不使用多个代码文件(例如C++)项目是否存在(技术或其他)优势?
分成几个文件只是一个人类的东西?在可视性/优化方面,机器一次处理所有这些并不是更好吗?
将所有内容放在一个文件中会破坏文件级静态和匿名命名空间的目的(并避免使用extern声明).
但它对编译器来说确实没什么好处.对于优化这样的事情,他们只需实现需要全局查看链接器的部分(并且大多数当前链接器包括这样的优化/代码生成功能).
它(或者至少可以)减少完整重建的总时间.使用单独的源文件,您将结束为包含它的每个源文件重新编译每个标头.只有一个源文件,你只需要编译一次(但是预编译的头文件可以并且通常会将其减少到可能很少重要的程度,至少如果你使用它们).
从实际的角度来看,它通常会大大损害构建时间.大多数人都非常努力地隔离事物,因此程序的一个部分的更改只需要重新编译一小部分程序.对于任何不仅仅是一个真正微不足道的程序,每次进行任何更改时都必须重新编译所有内容将是完全无法管理的 - 对于一个体面的大小程序,你的构建时间从几秒钟变为几分钟.