【发布时间】: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
我们正在考虑从 MS Visual Studio 2003 切换到 MS Visual Studio 2005 以进行 C++ 开发。我认为跳到 2008 年可能会更好。
VS2008 在 C++ 开发方面在哪些方面优于 VS2005?
VS2008相对VS2005有什么缺点吗?
【问题讨论】:
标签: c++ visual-studio-2008 visual-studio-2005
从原生 C++ 开发人员的角度来看,2005 年和 2008 年之间几乎没有区别。但是,如果来自 2003,直接升级到 2008 是有意义的 - 转换过程应该几乎相同,您最终会得到一个稍微好一点的平台。一些仅适用于 2008 年的新功能:
还有一些仅适用于 2008 年的额外可下载功能包:
【讨论】:
说实话,就纯 C++ 开发而言,我认为两者之间没有太多区别,除了 VS2008 是“最新”版本。我没有注意到任何重大变化。
不过,MFC 的最新版本通过添加功能包(为您提供 MSOffice 2007 外观和感觉)赋予了新的生命,这可能值得了解。
【讨论】:
对我们而言,2008 年最大的进步是 Intellisense 在大型解决方案上的可靠性。我们的项目有几百万行代码,而 Intellisense 在 2003 年无法使用。在 2008 年,它得到了改进,并且经常工作。
【讨论】:
对我来说,最大的改进就是 VS2008 明显更敏捷。
【讨论】:
VS2008 包含大量错误修正,绝对值得升级 IMO。除了 UI 和相关工具的改进之外,它在处理模板类方面要好得多,除非您使用最基本的语法,否则 VS2005 编译器并不总是能很好地工作。还有许多其他方面也得到了改进,但我现在懒得找一份 MS 文档来详细说明这些变化。所以当我说有很多的时候相信我。 :)
我会说,除非您有一些令人信服的理由坚持使用 2005(即,您的代码的向后兼容性不能与 VS2008 正确构建),否则您绝对应该推动升级。幸运的是,您可以在单个工作站上使用多个版本的 VS。您只需要按顺序安装它们;即先VS2005,后VS2008。
然后您可以在 VS2008 下测试您的代码库,看看迁移到 VS2008 会有多痛苦(如果有的话)。
【讨论】:
Visual Studio 2008 是一个集成环境,允许您为 Windows CE 和 Windows 进行开发。 (以前我们必须在 eVC++ 4.0 上工作,这不是很好......)
我遇到的一个缺点是 Dinkum STL 容器的最新版本假设使用了指针,而不是使用分配器::指针策略。这对我们来说是个问题,因为我们为共享内存使用编写了自己的“指针”类(存储内存偏移而不是绝对地址)。因此,我们不得不使用较旧的 STL 库。从好的方面来说,调试器能够更丰富地显示 STL 容器的内容。
【讨论】:
我目前使用 VS 2005。我尝试了 VS 2008 的最后一个测试版,编译器在我的项目中一直崩溃,所以我坚持使用 VS 2005。我没有查看发布版本。
选择 VS 2008 而不是 VS 2005 的一个重要原因是 VS 2005 的智能感知错误导致它使用过多的内存。这通常不是问题,但是当我尝试同时使用 Visual Assist 和 Refactor 时! VS 2005 中的 C++,智能感知搅动使我的系统崩溃。这应该在 VS 2008 中得到修复。(我有 VS 2008 的许可证,一旦我的下一个产品发布,我将尝试迁移,主要是因为这个原因。)
【讨论】:
Visual C++ 2008 已放弃对单线程运行时库的支持。不过我认为这并不重要。
【讨论】: