对Visual C++ 2010的期望和现实

蒋晟 2010-05-09 04:19:50
加精
这个帖子是对你们希望下一代Visual C++都具有什么功能?这个帖子的总结。

界面

首先,不需要C#、VB.Net支持人的可以使用免费的Visual C++速成版,这个版本占用的资源比较少,不过对应的功能也比较少。一些用户要求的清爽界面在这个版本中也实现了,不过要使用全部功能的话,需要在选项中切换到专家模式。需要更多功能的专业开发人员建议升级到专业版。

内存占用:受渲染引擎改为WPF的影响,Visual C++ 2010的内存占用会比2008大。在内存较少的计算机上会有性能问题。建议升级开发用的计算机的内存。

受很多人抱怨的MSDN的启动速度大大加快,但是帮助文档项目组没时间实现目录和索引,估计会另外发布一个补丁。幸好Help的扩展开发接口也大大改进,使得自己写帮助写起来更加容易。一些Windows Help MVP们写的一个帮助阅览器可以在http://mshcmigrate.helpmvp.com/找到。另外,帮助文档安装的时候也提供了更多选项,这样搜索本地文档的时候可以跳过自己不需要的技术。


导入、导出Visual Studio设置的功能在Visual Studio 2005就有了,不知道为什么有人要求Visual Studio 2010增加这个功能。


编辑器

以前造成很大性能瓶颈的智能感知被大幅改进,很多计算工作被转移到工作线程(这也增加了内存占用)。智能感知使用SQL Server CE来提高查询速度,但是这需要更多的磁盘空间来存放代码信息数据库,以及在创建项目的时候经常要解析一个很大的windows.h。受开发进度限制,C++/CLI的智能感知来不及加上了,计划是在后续版本中支持。第三方的IDE扩展可能有对C++/CLI的智能感知支持的功能。智能提示的另外一个应用就是可以实时提示可能造成智能提示解析失败的语法错误和修改建议。


使用基于GPU的渲染引擎使得原来需要CPU来做的界面现在用GPU来做了,在支持视频加速的计算机上会加快界面的显示速度。代价就是在显卡不好的计算机上速度会比较慢,以及一些非true type字体不能用在代码编辑器中。

很多IDE的扩展可以在MSDN的Visual Studio gallery网站(http://visualstudiogallery.msdn.microsoft.com/en-us/)上找到。有需要的可以自己去购买或者免费下载。鉴于微软的垄断地位,我不认为微软会推荐任何一个厂家的IDE扩展,或者直接集成某个厂家的IDE扩展。另外,一些IDE扩展占用很多内存和CPU时间,默认启用扩展的话并不适当。

编辑器增加了多显示器支持,使得具有多个显示器的程序员可以一次看到更多的代码。

代码模板在Visual Studio 2005里面就支持了。C++代码片段则仍旧不支持,不过有第三方的IDE扩展支持,比如Visual Assist和一个开源的codeplex项目(忘记名字了)。

调试器

和虚拟机的集成远程调试没有实现。多线程调试方面,估计是集成了并行计算库调试的原因,有比较大的加强。

编译器

C++标准方面,正则方面是随着TR1支持而支持。模板类导出可以看看Why we cannot afford Export这篇文章(http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1426.pdf)。

DDK开发仍旧是不支持。DDK发布周期和VC的不同,而DDK和VC编译器之间的差异造成的bug很难查,推荐的做法还是使用DDK来编译驱动。只有用户态的驱动才建议用VC编译。

编译的时候可以在项目编译选项中指定使用2008版本的Platform Toolset,当然这需要计算机上同时安装VC 2008。在2010之前只能在全局选项中指定头文件、库文件和工具的搜索目录。编译器使用新的MSBuild组织方式,使得自定义编译过程更加容易。比如可以自己写target文件来指定编译时使用的Platform Toolset。

导出旧版本格式的项目文件的功能没有很多人要,建议的方式还是在项目之间共享代码文件。

对于C的支持不可能去掉。很多的程序,例如微软的Windows、Office和SQL Server,仍旧包含C代码。VC不支持C意味着微软需要第三方的C编译器来开发自己的软件。

在编译的时候支持多核,在多个CPU的计算机上编译速度应该会加快。

类库

MFC Feature Pack被集成到了MFC,工具箱里也增加了MFC Feature Pack的控件。MFC增加了对Windows 7控件的支持,以及类似VC6的类向导(Class Wizzard)。类向导的快捷键从Control+W变成了Control+Shift+X,需要用旧快捷键的人可以自己重新映射一下。

由于MFC中新增的功能,MFC的运行时库的大小增加。需要编写微型软件的可以考虑ATL。

MFC仍旧不支持WPF,不过VC项目组在对下一个版本的VC的建议中有询问是否增加GPU显示支持(http://topic.csdn.net/u/20100323/07/d6365061-c851-4bc2-bbb3-fa26258386e0.html)。估计这考虑的是完全非托管的类库而不是WPF。

MFC应用程序向导在6.0开始就提供能够被脚本调用的自动化支持(http://msdn.microsoft.com/en-us/library/b2az2zt0.aspx)。当然,需要另外的编辑器来写自动控制MFC应用程序的脚本。

发布

去掉了对应用程序清单的强制要求。Visual C++运行库不再安装到sxs目录。但是这也意味着在应用程序的安装目录下部署的本地Visual C++运行库在微软发布安全补丁的时候不会自动得到更新。

其他

使用C++的一个好处就是第三方的库和控件很多。几十年的代码积累不是说着玩的,没有必要把每个类库都集成到Visual C++。

像测试项目这样一些以前只在团队版中有的功能,现在在专业版也可以用了。不过静态代码分析和Profile Guided Optimization仍旧需要Premium版本的才可以用。

VC++ ToolKit只是编译器而已,速成版连IDE都包含了。

汉化版VC还没做完,现在无法评价。至于Windows SDK的翻译——文章太多,等翻出来了,SDK也过时了。你可以去http://www.clubof.net/去请求翻译文章,社区会选择请求比较多的文章翻译。

boost和WTL这样的开源项目仍旧需要自行去官方主页下载。不是每个人都需要这样的第三方的类库。

高校学生应该可以通过Microsoft DreamSpark使用免费的微软软件。学校需要的话可以向微软申请参与这个项目。

移动开发方面,wince的模拟器没有提供,但是会支持Windows Phone 7的开发。

跨平台开发方面,我不认为微软会做出经济上自杀的举动。

发布调试版的微软DLL仍旧是违反Visual Studio的最终用户许可协议的。调试版的文件中包含微软的源代码的信息。

至于要求VC替代程序员的大脑的,假如买几百美金的软件就可以不给你每个月开工资了,你愿意么?
...全文
7694 219 打赏 收藏 转发到动态 举报
写回复
用AI写文章
219 条回复
切换为时间正序
请发表友善的回复…
发表回复
ptscx521 2012-05-21
  • 打赏
  • 举报
回复
学习中。。。。。
ben_yuan 2011-03-11
  • 打赏
  • 举报
回复
有些豪华的感觉~~
weakey 2011-02-25
  • 打赏
  • 举报
回复
搞了那么久C++没搞出啥名堂,就那么转了。
RLib 2010-12-15
  • 打赏
  • 举报
回复
..............................................
有趣之极 2010-11-29
  • 打赏
  • 举报
回复
都实现了吗?
牧秦丶 2010-09-17
  • 打赏
  • 举报
回复
低头一甩,三分到手。。。
2010除了不支持等宽字体外,其余一切均好——但这个问题已经可以解决了。。
再加上对插件的支持,一切无懈可击。
3jaja 2010-06-25
  • 打赏
  • 举报
回复
初学者喜欢追最新的IDE,老手喜欢研究算法。
tiesuiyaa 2010-06-24
  • 打赏
  • 举报
回复
伟大的MFC
_一帘幽梦_ 2010-05-17
  • 打赏
  • 举报
回复
用了半年的VS2008,感觉还可以.
yukanglisha 2010-05-17
  • 打赏
  • 举报
回复
施工方vzxvb 吃嫩草 符合 超负荷
yukanglisha 2010-05-17
  • 打赏
  • 举报
回复
hao hen hao 很好啊 好
furtherchan 2010-05-17
  • 打赏
  • 举报
回复
没用过如何,期待
motuw 2010-05-17
  • 打赏
  • 举报
回复
还在用vc6,已有的项目只能在vc6下运行!
alexmayer 2010-05-17
  • 打赏
  • 举报
回复
学习,谢谢蒋兄总结!!!
weirdman 2010-05-17
  • 打赏
  • 举报
回复
我还在用VC6
没办法,配置跟不上啊。。
quanlive 2010-05-17
  • 打赏
  • 举报
回复
sk nrc

sk nrc
可怕

太大
重名又重名 2010-05-16
  • 打赏
  • 举报
回复
希望微软少弄些华而不实的东西
[Quote=引用 184 楼 hejianliangjia 的回复:]
用2008,2010装不下
[/Quote]
184楼的,你的m8用着怎么样?
linguangfei2007 2010-05-16
  • 打赏
  • 举报
回复
路过,路过,学习,学习
yfxucn 2010-05-16
  • 打赏
  • 举报
回复
顶.. 顶 顶了...
永不上当 2010-05-16
  • 打赏
  • 举报
回复
mark
加载更多回复(195)
c#数据库系统心得体会 数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数 据库应用系统,去解决各行各业信息化处理的要求。下面是带来的,仅供参考。 c#数据库系统心得体会一: 这次数据库课程设计用的是Microsoft Visual FoxPro 6.0 ,而我们平时用的Microsoft SQL Server 20xx,虽然对VFP完全陌生,但在老师的指引下,我们近乎完美的完成了课程设计。当然 过程是艰辛的。 面对着完全陌生的操作环境VFP,许多同学开始埋怨,要求用SQL,用我们学过的ASP等来 完成设计。但我们慢慢发现用VFP做课程设计其实很有优势,于是它的这个优势激发了我 们去了解它的欲望。老师先将VFP中基本的建数据库,建表以及建表单等向我们演示了一 遍,我们也仿照着做了,发觉并不是很难。但想到这次课程设计做的是一套学生学籍和 成绩管理系统,我们又开始茫然了。那天,老师给我们看了一段可以让文字循环移动的 代码,这使我们产生了好奇心理,有了快速了解它的冲动。因为用面向对象的语言做特 效,这还是第一次。下课之后我把那段我们不了解的语言写的特效代码发到了VFP论坛上 请人帮忙解释,最后我们完全理解了那段代码的意思。 这次课程设计我们克服了炎热的天气(学校机房之前没装空调……后来设计完才装……),也 克服对新知识的恐惧感以及畏难情绪。我们懂得了团队合作的重要性,也懂得了团队中 如何交流、如何分工,如何集体讨论难点。我们充分利用了网络资源(技术论坛,共享的 实例等)。 我们喜欢这次课程设计的感觉,喜欢编程,喜欢团队交流。 c#数据库系统心得体会二: 在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开 发设计出数据库应用系统,去解决各行各业信息化处理的要求。通过这次的课程设计, 可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基 本方法,进一步提高我们综合运用所学知识的能力。 当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量 这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这 些都准备好了之后,我们进行模块的分工。每个人都有自己的模块设计,而且写出来的 代码要求可以实现相应模块的功能,得到理想的效果。当每个人都把自己的分工做好了 ,最后会由一个人把这些全部组合搭建在一起。我们使用的是Html和php相互嵌套使用, 当一个系统做好了之后,我会好好地把程序都看一遍,理会其中的奥秘。 我所负责的是数据库的备份和还原还有一些界面的实现。还记得自己刚接触html的时候 ,觉得很感兴趣,所以有一段时间几乎到了痴迷的程度。然而Php是我刚接触不久的一种 编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份 和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得 欣慰的是,在同学的帮助和大量参考书的查阅下,我把自己的模块做好了。这就是我收 获最大的地方。而且,我明白了遇到困难永不放弃的重要性,我知道了团队合作的重要 性,我领悟了只有坚持不懈才会取得胜利。 知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这一 个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈 帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美好的回忆美 好的东西将永远伴随着我。 c#数据库系统心得体会三: 数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设 计开始时候的豪情万丈的决心的留恋,怀着通过这次课程设计积累的信心与斗志,我开 始写这篇文章,为自己的足迹留下哪怕是微不足道但是对自己弥足珍贵的痕迹并期望与 大家共勉。 首先,让我的记忆追溯到大二暑假,在老大的指引下(老大劝我学asp.net),我接触到m icrosoft 公司的.net产品。那个时候我已经学过vc和asp,因为windows程序设计实验的课的关系 ,接触过vb,但是没有专门去学他,因为习惯了c++里面的class,int,觉得vb的sub, var 看着就不是很顺心。我是一个好奇心很强的人,突然看到了一个号称".net是用于创建下 一代应用程序的理想而又现实的开发工具",而且主推c#语言,由于对c语言的一贯好感 ,我几乎是立刻对他产生了兴趣。我就开始了对c#的学习,任何语言都不是孤立存在的 ,所以数据交互是很重要的,暑假的时候我把我们这学期的课本数据库系统概论看了一 遍。我记得以前用c语言编程的时候,数据是在内存中申请空间,譬如使用数组等等。很 耗费内存空间。这个时候就是数据库站出来的时候啦,于是我又装上了sql server20xx,以前学a

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧