2007年11月,微软发布了Visual Studio 2008 RTM版,在发布之前,既没有在网站首页醒目位置打上相关标识,也没有在现实生活中进行相关宣传,仅在下载中心给出其90天试用版的下载链接,显得十分低调,有关的宣传活动,恐怕要等到2008年2月份发布Windows Server 2008时一同进行吧。此次Visual Studio 2008为英文版,想用简体中文版的朋友可能也要等到明年2月份才有机会一睹庐山真面目了。那么,这次发布的Visual C++ 2008与以往有什么不同吗,会不会像Visual C++ 2005一样让全世界的C++爱好者兴奋不已呢,下面一一道来。
Visual C++集成开发环境的变化
1、在ATL、MFC及Win32应用程序中创建的对话框现在已符合Windows Vista样式标准了。使用Visual C++ 2008创建的新工程中所有对话框现在都会符合Vista窗口样式,但如果编译一个早期Visual C++版本创建的工程,对话框仍会保持原有的窗口样式。
2、在ATL工程向导中,可选择为所有用户注册组件。从Visual Studio 2008开始,由ATL工程向导创建的COM组件与类型库,如未选择为所有用户注册,默认将注册在HKEY_CURRENT_USER中。
3、注册表写入能被重定向。随着Vista而来的安全性要求,如果程序想写入到注册表的某特定区域,需要以权限提升模式运行,那总不可能总是以提升模式运行Visual Studio吧,所以,对注册表HKEY_CLASSES_ROOT区域的写入将自动重定向到HKEY_CURRENT_USER,而不需要进行任何编程。
4、类设计器现在可提供对本机C++代码的有限支持。在Visual Studio的早期版本中,类设计器仅能用于Visual C#和Visual Basic,现在,C++程序员也能使用类设计器了,但只限于只读模式。
Visual C++库的变化
1、STL/CLR库。编写托管代码的程序员是不是又该高兴了,现在Visual C++已包含了STL/CLR库(即之前的STL.NET,STL.NET为当时把STL移植到 .NET平台的项目代号)。STL/CLR库是对标准模板库(STL)的封装,其是标准C++库的一个子集,STL/CLR结合了C++模板与 .NET的泛型概念,允许C++程序员在STL容器与算法中使用 .NET类型。现在,STL中的容器类(container)、迭代子(iterator)、算法等等,还不是照样信手拈来。
2、MFC库。新的MFC9提供了支持Windows Vista的通用控件,新增了超过150个方法用于支持Vista的新特性及改进现有MFC类的功能,如新的CNetAddressCtrl类可用于输入及验证IPv4及IPv6地址或DNS名、新的CPagerCtrl类可简化选项卡控件的使用、新的CSplitButton类可简化SplitButton控件的使用。
另外,不得不提的是,微软计划在2008年年中的某个时间,发布对MFC库的一个重大更新,可使程序员构造具有超现代用户界面的程序,如类似Office 2007 Ribbon、Office样式菜单、Visual Studio样式的停靠工具栏、MDI程序中的多选项卡文档,此次更新的组件在Windows 2000以上的操作系统均可运行,如下图所示。
链接器的变化
用户账户控制现在已嵌入在可执行文件的清单文件中。这个功能默认是打开的,如图所示。
链接器现在可使用/DYNAMICBASE选项以打开Windows Vista上的地址空间随机排列(Address Space Layout Randomization)功能。这个选项修改了可执行文件头,以表明程序在加载时,是否可以随机重新定位基址。
当然在链接选项中,也少不了数据执行保护(DEP)。
Visual C++ 2008的发布,无疑把C++这种开发语言又推到了一个新的高度,从底层系统驱动开发到高层 .NET编程,都不在话下,而且在功能性、安全性、易用性上有了显著的进步,将来,随着C++0x标准的临近及ISO 2003标准C++库的普及,Visual C++必定又有一片新的天地,作为程序员的你,还等什么呢。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10844186/viewspace-84/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10844186/viewspace-84/