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++ 中设置文件版本号