【问题标题】:What are the advantages of VS2008 over VS2005 for C++ development?VS2008 相比 VS2005 在 C++ 开发方面有哪些优势?
【发布时间】:2008-11-13 10:08:05
【问题描述】:

我们正在考虑从 MS Visual Studio 2003 切换到 MS Visual Studio 2005 以进行 C++ 开发。我认为跳到 2008 年可能会更好。

VS2008 在 C++ 开发方面在哪些方面优于 VS2005?

VS2008相对VS2005有什么缺点吗?

【问题讨论】:

    标签: c++ visual-studio-2008 visual-studio-2005


    【解决方案1】:

    从原生 C++ 开发人员的角度来看,2005 年和 2008 年之间几乎没有区别。但是,如果来自 2003,直接升级到 2008 是有意义的 - 转换过程应该几乎相同,您最终会得到一个稍微好一点的平台。一些仅适用于 2008 年的新功能:

    • /MP 选项用于多核编译(如果您有一台多核计算机,可以节省大量时间)
    • 一些改进的多线程应用程序调试选项

    还有一些仅适用于 2008 年的额外可下载功能包:

    • TR1 库
    • 新的 MFC

    【讨论】:

    • 实际上 /MP 似乎在 VC++ 2005 中也可用,但没有记录。我玩过它,但我不会将它用于生产代码。
    • 功能包是 SP1 的一部分。
    • 如果您没有 SP1 FWIW,可以单独下载 MFC 功能包。
    【解决方案2】:

    说实话,就纯 C++ 开发而言,我认为两者之间没有太多区别,除了 VS2008 是“最新”版本。我没有注意到任何重大变化。

    不过,MFC 的最新版本通过添加功能包(为您提供 MSOffice 2007 外观和感觉)赋予了新的生命,这可能值得了解。

    【讨论】:

      【解决方案3】:

      对我们而言,2008 年最大的进步是 Intellisense 在大型解决方案上的可靠性。我们的项目有几百万行代码,而 Intellisense 在 2003 年无法使用。在 2008 年,它得到了改进,并且经常工作。

      【讨论】:

        【解决方案4】:

        对我来说,最大的改进就是 VS2008 明显更敏捷。

        【讨论】:

          【解决方案5】:

          VS2008 包含大量错误修正,绝对值得升级 IMO。除了 UI 和相关工具的改进之外,它在处理模板类方面要好得多,除非您使用最基本的语法,否则 VS2005 编译器并不总是能很好地工作。还有许多其他方面也得到了改进,但我现在懒得找一份 MS 文档来详细说明这些变化。所以当我说有很多的时候相信我。 :)

          我会说,除非您有一些令人信服的理由坚持使用 2005(即,您的代码的向后兼容性不能与 VS2008 正确构建),否则您绝对应该推动升级。幸运的是,您可以在单个工作站上使用多个版本的 VS。您只需要按顺序安装它们;即先VS2005,后VS2008。

          然后您可以在 VS2008 下测试您的代码库,看看迁移到 VS2008 会有多痛苦(如果有的话)。

          【讨论】:

            【解决方案6】:

            Visual Studio 2008 是一个集成环境,允许您为 Windows CE 和 Windows 进行开发。 (以前我们必须在 eVC++ 4.0 上工作,这不是很好......)

            我遇到的一个缺点是 Dinkum STL 容器的最新版本假设使用了指针,而不是使用分配器::指针策略。这对我们来说是个问题,因为我们为共享内存使用编写了自己的“指针”类(存储内存偏移而不是绝对地址)。因此,我们不得不使用较旧的 STL 库。从好的方面来说,调试器能够更丰富地显示 STL 容器的内容。

            【讨论】:

              【解决方案7】:

              我目前使用 VS 2005。我尝试了 VS 2008 的最后一个测试版,编译器在我的项目中一直崩溃,所以我坚持使用 VS 2005。我没有查看发布版本。

              选择 VS 2008 而不是 VS 2005 的一个重要原因是 VS 2005 的智能感知错误导致它使用过多的内存。这通常不是问题,但是当我尝试同时使用 Visual Assist 和 Refactor 时! VS 2005 中的 C++,智能感知搅动使我的系统崩溃。这应该在 VS 2008 中得到修复。(我有 VS 2008 的许可证,一旦我的下一个产品发布,我将尝试迁移,主要是因为这个原因。)

              【讨论】:

                【解决方案8】:

                Visual C++ 2008 已放弃对单线程运行时库的支持。不过我认为这并不重要。

                【讨论】:

                  猜你喜欢
                  • 2013-09-22
                  • 2012-05-17
                  • 1970-01-01
                  • 2019-03-02
                  • 2016-01-04
                  • 2011-08-02
                  • 2011-03-26
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多