单独的翻译单位

时间:2016-06-10 13:54:55

标签: c++

在询问另一个问题时,我被告知可能使用单独的翻译单元(文件),因为我的当前代码似乎因为它太大而无法编译。

现在我一直在研究如何使用单独的翻译单元,但坦率地说,我甚至不知道从哪里开始。如果我此刻只有一个main.cpp文件,我想把它分成例如3个部分,其中有一个“variables1.cpp”,一个“variables2.cpp”和一个main.cpp它在哪里做计算等,我将如何使用visual studio?

1 个答案:

答案 0 :(得分:0)

这是程序员的主要任务之一,如何以这样一种方式构造代码,使代码的逻辑变得清晰“#34;分离"有些人会使用一个班级/一个文件。

我认为这个问题需要一个非常详细的答案。也许你应该阅读这篇文章: Organizing Code Files in C and C++

  

拆分任何合理大小的项目可以为您带来一些好处,   其中最重要的是:

     

加快编译    - 大多数编译器一次处理一个文件。因此,如果所有10000行代码都在一个文件中,并且您更改了一行,那么您必须这样做   重新编译10000行代码。另一方面,如果你的10000行   代码均匀分布在10个文件中,然后更改一行   只需要重新编译1000行代码。 9000线   其他9个文件不需要重新编译。 (链接时间是   不受影响。)

     

增加组织 - 按逻辑行拆分代码   让你(以及项目中的任何其他程序员)更容易   查找函数,变量,结构/类声明等。甚至   能够直接跳转到给定的标识符   在许多编辑器和开发环境中提供(例如   Microsoft Visual C ++),总会有时候需要   手动扫描代码以查找内容。就像分裂一样   代码还减少了重新编译所需的代码量   减少您需要阅读的代码量以便查找   一些东西。想象一下,你需要找到你对声音做出的修复   几个星期前的代码。如果您有一个名为GAME.C的大文件,那就是   潜在的很多搜索。如果你有几个小文件叫   GRAPHICS.C,MAINLOOP.C,SOUND.C和INPUT.C,你知道在哪里看,   缩短浏览时间3/4。

     

促进代码重用 - 如果您的代码被仔细分解为   这些部分在很大程度上彼此独立地运作   你在另一个项目中使用该代码,节省了大量的重写   后来。编写可重用代码比使用a还要多得多   逻辑文件组织,但没有这样的组织它是非常   很难知道代码的哪些部分一起工作以及哪些部分协同工作   不。因此,将子系统和类放在一个文件中或   如果您尝试,仔细描述的文件集将在以后帮助您   在另一个项目中使用该代码。

     

在项目之间共享代码 - 这里的原理与之相同   重用问题。通过仔细地将代码分成某些文件,你   使多个项目可以使用一些相同的代码   文件没有重复。共享代码文件的好处   项目之间而不仅仅是使用复制和粘贴是任何错误   修复您对该文件或一个项目中的文件将影响   其他项目,因此两个项目都可以确保使用最多   最新版本。

     

在程序员之间分割编码职责 - 非常大   项目,这可能是将代码分成的主要原因   多个文件。对于不止一个人来说,这是不切实际的   在任何给定时间对单个文件进行更改。所以你会的   需要使用多个文件,以便每个程序员都可以使用   单独的部分代码而不影响另一个的文件   程序员正在编辑。当然,仍然需要进行检查   2个程序员不要尝试改变同一个文件;组态   管理系统和版本控制系统,如CVS或MS   SourceSafe帮助你。