可能重复:
What strategies have you used to improve build times on large projects?
我用C++编写了大约800行代码,cpp文件有大约7-8个类,没有相同的对象,但是程序需要很好的7秒来构建。这是我在c++上的第一个程序,所以我想知道它是否正常?还是太过分了?另外,如果c++方面的专家能够分享一些能帮助像我这样的初学者的见解,那就太棒了。如果它在任何方面都有帮助的话,我正在使用2010。
发布于 2012-06-20 17:24:33
编译C++的时间可能比我使用过的任何其他语言都多。
有一件事可以带来很大的不同,那就是你包含了什么标题。尽管您的代码可能只有800行,但如果其中有几行是#include的,编译器可能很容易查看数千行(仅供参考,#include <windows.h>本身通常意味着编译器将查看超过10,000行)。
我们C++聊天室中的一些人最近正在对一段具有大量递归模板的特别讨厌的代码进行一些测试。尽管它只有大约30行代码,取决于您设置的参数,获得一个小时或更长时间的编译时间是相当容易的--对于大多数编译器(包括VC++10和11/2012)来说,完全崩溃编译器是相当容易的。
如果代码在标题和/或模板(特别是递归模板)方面几乎没有或什么都没有,那么7.5秒的编译时间似乎太长了。为了作比较,我做了一个快速测试,编译了一个我躺在附近的程序,它的大小接近于926行。那花了0.3秒。我的机器大概有五六年的历史了,所以它的速度也不接近尖端。同时,我应该补充一点,对于编译少量的代码,CPU速度可能不是主要的决定因素。我希望SSD比一个更快的CPU产生更大的不同。
发布于 2012-06-20 17:21:58
C++是一种复杂的语言,比许多其他语言需要更多的时间来编译。在此基础上,Visual本身还有构建Intellisense数据库之类的额外开销。在实际编译之后,还需要考虑一个链接阶段。
当Visual创建一个新项目时,它通常会创建一个预编译的头文件,其中包含大量Windows头文件。这将增加数千行到您的800行源。
7秒看上去有点慢,但没有越界。
https://stackoverflow.com/questions/11124110
复制相似问题