Visual Studio 2010中的C++ IDE增强

如果说对C++新标准的支持为Visual C++的发展奠定了坚实的基础,那么,她在IDE方面的增强,则会让她更加光彩照人。

很多Visual C++程序员都爱吃西红柿(Visual Assist)。为什么?因为它可以补偿VC(Visual C++)。虽然Visual C++在C++库,编译器,MFC等方面非常强大,但是她的IDE一直受到C++程序员的诟病。特别是进入 Visual Studio 2000之后,Visual C++的IDE并没有大的改变,但是效率却越来越低下,使得程序员们不得不多吃“西红柿”,补充点VC。

微软试图将Visual Studio 2010打造成跟Visual Studio 6一样的经典开发工具。所以,除了在语言层面开始支持最新的C++标准外,在IDE以及MFC库等方面,微软也下了很大的力气。Visual C++不仅改善了IDE的效率,同时也引入了很多新的特性,期待这些IDE增强能够切实的提高程序员们的开发效率。

Visual Studio 2010中的Visual C++增强主要包括以下几个方面:

改进的项目系统支持

在以往的Visual Studio版本中,MSBuild不能很好地支持Visual C++项目,微软转而提供了一个替代的专门解决办法:VCBuild。在Visual Studio 2010中,微软终于改进了这一点,将VCBuild的众多特有的功能集成到MSBuild中,并且使用MSBuild替代了VCBuild。虽然VCBuild有很多针对Visual C++项目的实用功能,但是,新的MSBuild不仅继承了这些功能,还提供了更多的新特性,吸引用户升级到这一新的构建平台上来:

◆诊断功能: MSBuild增强了它的诊断功能,以帮助用户更加容易地发现和调试构建错误。例如,MSBuild可以帮助你决定如何以特定的顺序编译某些源文件,因为MSBuild可以检测这些文件之间的依赖性。

◆可扩展性: 使用MSBuild,用户可以为某些特定的平台构建不同的解决方案。另外,也可以在构建过程中,使用不同版本的编译器。连接器等,使得我们的解决方案更具扩展性。

◆集成: 我们可以将我们的Visual C++项目添加到一个已经存在的MSBuild环境中。例如,我们可以将一个新的Visual C++项目集成到一个已经存在的MSBuild环境中,虽然这个MSBuild环境包含的是使用.NET Framework的Visual C#和Visual Basic项目。

Multi-Targeting曾经作为Visual Studio的一个重要特性,受到微软的大力推广。因为它使得“一次编码,多个平台运行”成为可能。这一特性给程序员们带来了极大的便利,再也不用为目标机器混乱的平台而头疼。但是在之前的Visual Studio中,Multi-Targeting特性只在托管语言中得到支持,可以针对不同的.NET Framework版本。现在在Visual Studio 2010中,随着MSBuild的应用,本地代码的Multi-Targeting也成为可能。

在Visual Studio 2010中,我们可以选择使用Visual Studio 2010的工具集还是Visual Studio 2008的工具集。当我们因为一些兼容性或者是其他方面的原因不愿过早地升级到Visual Studio 2010时,我们可以利于Multi-Targeting特性,选择使用Visual Studio 2008的Visual C++程序库和编译器,而同时使用Visual Studio 2010的IDE。这样就实现了“鱼与熊掌兼得”。当我们最终决定升级到Visual Studio 2010的程序库和编译器时,只需要在MSBuild或是项目属性中做一个简单的设置就可以了。下图展示了不同工具集设置下项目的编译记录。


Multi-Targeting:目标工具集为V90


Multi-Targeting:目标工具集为V100

时间: 2024-12-02 05:48:40

Visual Studio 2010中的C++ IDE增强的相关文章

详解Visual Studio 2010中的扩展管理器

扩展能够为核心应用程序提供附加的功能或者自定义设置.在很多应用程序中这都是很流行的,包括流行的web浏览器IE和Firefox.微软的Office.媒体播放器.Photoshop.Eclipse.Visual Studio等等.其中有些可能比较新奇,而针对开发工具--像Eclipse和Visual Studio--的扩展让开发者的生产力得到了显著提高. Visual Studio早期的版本是构建在COM技术之上的.而Visual Studio的主要扩展方式插件是通过COM接口实现的.随着时间的变

Visual Studio 2010中的Web开发

Microsoft Visual Studio 2010 为 ASP.NET Web 应用程序的开发提供很多新的功能.这些新功能旨在帮助开发人员快速方便地创建和部署质量高且功能全的 Web 应用程序. 目前,Visual Studio 2010 支持 HTML 代码片段.利用这些代码片段,可以生成高质量的代码.Visual Studio 中附带了很多代码片段,开发人员也可以创建自己的代码片段. Visual Studio 2010 提供的另一个新功能是转换 web.config 文件,以用于部署

使用IntelliTrace在Visual Studio 2010中调试.NET应用程序

在Visual Stuido 2010中有一个新的功能那就是IntelliTrace.IntelliTrace被引入到Visula Studio中来加速我们对.NET应用程序的调试,它通过对预先设置的事件和方法在运行过程中的跟踪并将其有效地传递给调试执行者,从而快速的传递程序在执行过程中的状态和各种信息来帮助开发者更好的调试程序,快速的发现问题.实际上,在Visual Studio 2010之前,Microsoft Visual Stuido已经帮助我们很好的继承了调试工具,比如对变量的监控,对

利用Visual Studio 2010中的Concurrency Visualizer优化性能

如今制造商们广泛提供了多核心处理器,新处理器中的单线程性能相对而言可能就显得平淡无奇了.那就意味着,对软件开发人员来说,通过更好地利用并行机制来提高应用程序性能的压力就更大了. 并行编程是一项很有挑战性的工作,其原因很多,但我在本文中只想将重点放在并行应用程序的性能方面.多线程应用程序不止容易成为顺序实现低效率进行(如低效的算法.低速的缓存行为.过多的 I/O)的常见原因,而且还可能具有并行性能 Bug.并行性能和可伸缩性可能受到负载不平衡.同步开销过大.无意的序列化或线程迁移限制. 过去,要了

visual studio 2010中创建测试项目时发生错误

问题描述 visual studio 2010中创建测试项目时发生错误 十分感谢! 解决方案 VC++的单元测试?你的VS2010最好打上SP1.我记得VS2010对VC++的Unit Test支持有问题. 解决方案二: 没安装壕吧,修复一下 .

在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序

原文 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 Jim Nakashima.Hani Atassi 和 Danny Thorpe 将应用程序或服务部署到 Microsoft 云服务平台 Windows Azure 的原因有很多.例如,只为使用的内容付费从而可降低操作和硬件成本.构建几乎能无限缩放的应用程序.巨大的存储容量.地理位置等等,不胜枚举. 只有

laoyu-关于 Visual Studio 2010 中的错误的问题!

问题描述 关于 Visual Studio 2010 中的错误的问题! 为何在Visual Studio 2010 C++中出现错误时为什么不能显示错误提示和红色下划线.请问如何解决? 解决方案 安装visual assist X

Visual Studio 2010 中的代码约定设置

软件约定称为代码约定,通过这一约定可以表示代码正常工作所需的正式条件. 如果方法未按预期收到数据或生成的数据不符合预期的后置条件,代码约定将导致代码引发异常. 有关前置条件和后置条件的概述,您可能需要查看我上个月发表的文章 (msdn.microsoft.com/magazine/gg983479). 代码约定是 .NET Framework 4 的一部分,但同样依赖于 Visual Studio 2010 中的一些功能,例如运行时工具.与 MSBuild 集成以及"项目属性"框中的属

Visual Studio 2010 中的代码“.NET研究”约定设置

软件约定称为代码约定,通过这一约定可以表示代码正常工作所需的正式条件. 如果方法未按预期收到数据或生成的数据不符合预期的后置条件,代码约定将导致代码引发异常. 有关前置条件和后置条件的概述,您可能需要查看我上个月发表的文章 (msdn.microsoft.com/magazine/gg983479). 代码约定是 .NET Framework 4 的一部分,但同样依赖于 Visual Studio 2010 中的一些功能,例如运行时工具.与 MSBuild 集成以及"项目属性"框中的属