我们正在考虑从MS Visual Studio 2003切换到MS Visual Studio 2005进行C ++开发。我认为跳到2008年可能会更好。
VS2008在哪些方面比用于C ++开发的VS2005更好?
VS2008与VS2005相比有什么缺点吗?
答案 0 :(得分:11)
从本地C ++开发人员的角度来看,2005年和2008年之间的差异很小。但是,如果从2003年开始,直接升级到2008也是有意义的 - 转换过程应该几乎相同,最终会有一个稍好的平台。一些仅适用于2008年的新功能:
还有一些仅适用于2008的其他可下载功能包:
答案 1 :(得分:7)
老实说,就纯C ++开发而言,我认为两者之间并不多,除了VS2008是“最新”版本。我没有发现任何重大变化。
然而,MFC的最新版本通过添加功能包(给你一个MSOffice 2007的外观和感觉)获得了新的生命,这可能是值得了解的。
答案 2 :(得分:5)
2008年对我们来说最大的改进是Intellisense在大型解决方案上的可靠性。我们的项目拥有数百万行代码,Intellisense在2003年无法使用。2008年,它的改进和工作经常进行。
答案 3 :(得分:2)
对我而言,最大的改进只是VS2008显得更加快速。
答案 4 :(得分:1)
VS2008包含大量错误修正,绝对值得升级IMO。除了UI和相关工具的改进之外,它在处理模板类方面要好得多,除非你使用的是最基本的语法,否则模板类并不总能与VS2005编译器一起使用。还有许多其他领域已经得到改进,但我现在不必费心去寻找MS文件,详细说明这些变化。所以,当我说有很多时,请相信我。 :)
我会说除非你有一些令人信服的理由坚持使用2005(即你的代码的向后兼容性与VS2008无法正确构建),你绝对应该推动升级。幸运的是,您可以在单个工作站上使用多个版本的VS.你只需要安装顺序;即,首先是VS2005,然后是VS2008。
然后你可以在VS2008下测试你的代码库,看看迁移到VS2008会有多痛苦(如果有的话)。
答案 5 :(得分:1)
Visual Studio 2008是一个集成环境,允许您为Windows CE和Windows进行开发。 (以前我们不得不在eVC ++ 4.0上工作,这不是很好......)
我遇到的一个缺点是Dinkum STL容器的最新版本假设使用了指针,而不是使用allocator :: pointer策略。这对我们来说是一个问题,因为我们编写了自己的“指针”类用于共享内存使用(存储内存偏移而不是绝对地址)。所以,我们不得不使用旧的STL库。从好的方面来说,调试器能够更加丰富地显示STL容器的内容。
答案 6 :(得分:1)
我目前使用VS 2005.我尝试了VS 2008的最后一个测试版,并且编译器一直在我的项目中崩溃,所以我坚持使用VS 2005.我没有看过发布版本。
选择VS 2008胜过VS 2005的一个重要原因是VS 2005有一个智能感知错误导致它使用太多内存。这通常不是问题,但是当我尝试同时使用Visual Assist和Refactor时!在VS 2005中的C ++,智能感知翻腾让我的系统瘫痪。这可以在VS 2008中修复。(我有VS 2008的许可证,一旦我的下一个产品发布,我将尝试迁移,主要是因为这个原因。)
答案 7 :(得分:0)
Visual C ++ 2008已经放弃了对单线程运行时库的支持。我认为这不重要。