Visual Studio 2005 C++ 编译器比 Visual Studio 6 编译器慢?

Posted

技术标签:

【中文标题】Visual Studio 2005 C++ 编译器比 Visual Studio 6 编译器慢?【英文标题】:Visual Studio 2005 C++ Compiler slower that Visual Studio 6 Compiler? 【发布时间】:2009-06-22 14:08:19 【问题描述】:

我们的一个旧 C++ 项目仍在使用 Visual Studio 6。一年一次,我尝试将其转换为更高的 Visual Studio 版本,但这并不容易,因为并非所有代码都是由我们编写的。 无论如何,我在修复了几百行代码后,终于成功地将项目转换为 VS2005。但是编译项目需要很长时间!比 VS6 长得多。

有些类有很多代码行,甚至有几千个。这些只是要在代码中填充大量项目的数组。我知道这不是完美的解决方案,但目前就是这样,VS6 从来没有遇到过问题。

也许我必须调整一些设置以加快速度,但如果它保持现在这样,我会将其保留为 VS6 项目,因为我不想整天坐在办公桌前无所事事。

有什么想法吗?

【问题讨论】:

你说话慢了多少?有些差异是意料之中的。 【参考方案1】:

编译时间的差异是正常的。 VS2005 的 C++ 编译器比 VC6 更符合标准 C++。这两种编译器之间存在巨大差异。

【讨论】:

...我很高兴他们如此不同:)【参考方案2】:

VS2005 生成更优化的代码,因此必须花费额外的时间来弄清楚如何使其更快。

【讨论】:

是的,这一直是个问题。默认情况下,优化设置为最大。当我关闭它们时,编译时间恢复正常。【参考方案3】:

看看你是否能找到在 VS05 中编译速度极快、编译速度极慢的最小模块,看看它们有什么共同点。将慢模块中的元素添加到快模块中,直到突然减速。这就是问题的根源。

【讨论】:

【参考方案4】:

听起来你的“一年一次升级”落后了几年,不是吗?

检查以确保您没有关闭预编译的标头。

【讨论】:

【参考方案5】:

获取Incredibuild。

绝对物有所值。 它所做的是将文件的编译委托给网络上空闲的构建“代理”,获取结果并将其链接到构建协调器上。机器越多越好。构建时间的减少给我留下了深刻的印象。

【讨论】:

这将是“如何加速 VS2005 构建”问题的答案。 我认为这可能是另一个标题错误的问题...鉴于 OP 帖子的结尾行。 Incredibuild 会在您可以做一些有用的事情时诱使您观看构建栏,从而浪费时间。

以上是关于Visual Studio 2005 C++ 编译器比 Visual Studio 6 编译器慢?的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 中的vc++ 2005创建一个C++的项目,求有多线程的例子!!!

Visual Studio 2005 C++ 运行时新异常

在 Visual Studio 2005 C++ 中设置文件版本号

链接错误2005 Visual Studio 2008 C++

C++ 项目依赖问题 Visual Studio 2005

如何将 C++ Visual Studio 2008 项目降级到 2005