Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 告诉visualc++;加入几个cpp文件以进行统一构建,使我的代码保持有序?_C++_Python_Visual Studio 2010 - Fatal编程技术网

C++ 告诉visualc++;加入几个cpp文件以进行统一构建,使我的代码保持有序?

C++ 告诉visualc++;加入几个cpp文件以进行统一构建,使我的代码保持有序?,c++,python,visual-studio-2010,C++,Python,Visual Studio 2010,我发现使用unity构建有很多优点(意味着拥有一个包含所有内容的.cpp文件)。我有很多依赖项和全局变量(这是一个糟糕的选择,但我想坚持下去,我不想解释原因)。我的代码被破坏了,所以每个部分经常使用另一个 当然,最大的缺点是编辑代码变得很挑剔 我的想法是将这个大型cpp文件分成多个文件,以便更容易地管理项目 所以每次重建时,我都想知道是否可以在编译之前将这些文件合并到一个文件中。我问过python,但如果它比使用python更简单的话,可能是一个.bat 我使用Visual C++ Expres

我发现使用unity构建有很多优点(意味着拥有一个包含所有内容的.cpp文件)。我有很多依赖项和全局变量(这是一个糟糕的选择,但我想坚持下去,我不想解释原因)。我的代码被破坏了,所以每个部分经常使用另一个

当然,最大的缺点是编辑代码变得很挑剔

我的想法是将这个大型cpp文件分成多个文件,以便更容易地管理项目

所以每次重建时,我都想知道是否可以在编译之前将这些文件合并到一个文件中。我问过python,但如果它比使用python更简单的话,可能是一个.bat

我使用Visual C++ Express 2010,我也使用预编译头[< /p>unytudio.CPP:

#include "PartOneOfUglyCode.cpp"
#include "PartTwoOfUglyCode.cpp"
#include "PartThreeOfUglyCode.cpp"
...
仅编译UnityBuild.cpp


我觉得很脏。我很高兴你至少认识到你的代码设计得很糟糕。

如果你真的想要一个文件,那么你只有一个文件,比如说,
main.cpp
。在
main.cpp
中,您可以像这样包含其他部分

#include <iostream>
#include "part0.h"   
#include "part1.inc"
#iniclude "part2.cpp"

....

int main()
{
    return 0;
}
#包括
#包括“part0.h”
#包括“part1.inc”
#包括“第2部分cpp”
....
int main()
{
返回0;
}

请注意,后缀,
h
inc
cpp
并不重要。

如果您否决,至少要留下一条评论……我没有否决,但您为什么要将文件合并成一个?链接器将为您将这些对象文件合并为一个可执行文件。阅读更多关于编译工作原理的信息。你读过吗?对于大型项目或存在许多依赖项时,链接会导致大量磁盘文件查找,这会变得非常缓慢。C++就是这样的。阅读这篇文章,unity构建实际上通过一个不可忽略的因素提高了构建时间。感谢链接。然而,这似乎只与非常大的项目相关。makefile系统的要点是,您只重建您更改的文件。这是减少构建时间的正常方法。事实上,一个博客作者有自己的黑客来避免使用makefiles,这并不是一个好主意。我不同意“仅仅”一个观点,因为不同的设计可以帮助或阻碍开发过程。你已经说过,设计阻碍了你管理代码的能力。C++编译可能会很慢,因为C++没有指定任何二进制文件的构建方法,这显然是它最丑陋的缺陷。它很脏,但它能完成任务。