我认识的Microsoft新工具:Visual Studio 2005

MFCPlus 版主 2005-07-30 08:35:33
很久没上CSDN论坛,发现我的一个帖子达到513个回复点,感到很感慨,几个月来的忙碌,真想停下来,到论坛上找些感觉……
一个月前,Microsoft的一位朋友提供了Visual Studio 2005的6月份技术预览版,大约4个G的尺寸,我在三台机器上安装了这个工具包,一台是Windows 2000 Server SP4,一台是Windows XP SP2,另一台是Windows 2003 Server SP1。我感到,VS 2005很庞大,就像Microsoft公司一样庞大,这个东西,已经成了开发人员的Office。有时候我在想,如果Eclipse不是开源的,那么世界上可能真的没有东西可以与Visual Studio相比了,提起Eclipse,我没有Java程序员的那份兴奋感觉,只要你真的了解Visual Studio IDE的构造,也许你也不会对Eclipse感到那样兴奋。
C++/CLI会不会成功,其实是个没有悬念的问题,在正式登场之前一年,C++/CLI就已经是技术网站是的热门话题了,这就是Microsoft,一个面向世界的测试方案就这样完成了,等到今年11月7日正式发行的时候,开发人员已经默认了C++/CLI的存在。ATL、MFC、C++/CLI,尽管许多大师说这些东西很丑陋,可是Microsoft具有“化丑陋为流行的能力”,Microsoft的世界就是这样建造的,不服不行!……
...全文
972 28 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
casinosun 2005-08-04
  • 打赏
  • 举报
回复
能不能告诉我为什么在button——click中写个SendMessage,都不对,写MessageBox也不对,微软到底怎么了,和vc6差这么多,怎么用呀
dawndu 2005-08-03
  • 打赏
  • 举报
回复
偶还再用vc6,没有觉得要换工具
MFCPlus 版主 2005-08-03
  • 打赏
  • 举报
回复
更加严格的语法
Visual C++2005的语法比以前的版本更严格,在之前的所有版本中,如下代码均正常编译:
for(int i = 0; i< 10; i++)
{
}

i = i +5;
在新版本中,会产生编译错误,原因是变量i未定义,这一点,将导致大量的第三方类库必须修改,虽然是不大的问题,但却受习惯制约。

Managed C++向C++/CLI迁移
Managed Extension,是Microsoft在2000能就开始向大众推崇的东西,2005年Microsoft的思维有所变化,这一点会不会带来混乱,或者说是不是一个玩笑,只有时间才能判断,可以说,VS 2002时期,Managed Extension只是个铺垫,Visual Studio 2003推出后,Managed C++才找到了位置,然而2005年一切又都变了,Managed C++向C++/CLI转移肯定会带来习惯的问题。对C++程序员而言,“引用”、“委托”等概念还是很陌生的,即使是1997年面世的ATL,虽然8年过去了,大多数程序员提起ATL,也许还是“敬而远之”,我接触过许多MFC程序员,都有8-10年的开发经验,但提起ATL还是畏之如虎的感觉,Managed C++也快5岁了,但熟练驾驭者真是寥寥无几,C++/CLI来了,情况会怎样?这场Microsoft导演的混乱会怎样收场,我们拭目以待。

ATL/MFC,高手的左膀右臂
从VS 2002开始,Microsoft将ATL、MFC放到同一个目录中,VS2005亦如此。大概VC6开始,Microsoft允许MFC与ATL混合使用,早在1998年以前,由于Microsoft的一个VC开发组的技术人员在互联网上的一篇文章,使得经过手工调整后,MFC与ATL可以在一个工程中同时使用,VC6改变了这一切,到了VS 2005,我们看到ATL与MFC耦合得更紧,然而对程序员来讲,ATL对MFC编程究竟有什么好处,还是一个未知的变数,原因之一是,Microsoft没有提供相关的范例,可以说,几年来,Microsoft的例子如同MFC/ATL一样,虽然VS的尺寸越变越大,可是例子还是那么几个。国内能够综合运用MFC/ATL开发的人选有多少,是个无法统计的问题,但感觉表明,不会太多,这层窗户纸何时被捅破,是个有趣的话题,真切希望ATL、MFC能够成为国内程序员的左右手。
iceqings 2005-08-03
  • 打赏
  • 举报
回复
欢迎加入Visual C++ 开发 QQ群

群号:9643456

有不能解决的问题吗,加入我们,让我们共同解决
MFCPlus 版主 2005-08-03
  • 打赏
  • 举报
回复
to linur(林夕):
VC++ 2005 支持STL,因此当然支持关键字export!
linur 2005-08-03
  • 打赏
  • 举报
回复
前几天写了一个模板类,发现VC2003不支持export关键字,MSDN上也说了不支持,而标准C++已经出现5、6年了,很郁闷的事情,不知道VC2005有没有加入这个关键字
DentistryDoctor 2005-08-02
  • 打赏
  • 举报
回复
没用过,不敢发表评论。
darkstar21cn 2005-08-02
  • 打赏
  • 举报
回复
偶用了一段时间的beta 1,没拿到beta 2所以,不敢枉下结论。

至少对C++标准的支持,偶已经没什么可说的了--偶用的它都能支持了。
WuOu 2005-08-02
  • 打赏
  • 举报
回复
汗...-_-!
xxrl 2005-08-02
  • 打赏
  • 举报
回复
感觉vc6长时间内都不会被替代
MFCPlus 版主 2005-08-02
  • 打赏
  • 举报
回复
Microsoft的可视化技术为什么偏袒基于Windows Form程序?
Visual C++面世十多年了,在这个框架中,“Visual”体现在哪里呢?自从Visual Studio 2003 .NET开始,Microsoft才允许基于托管框架的Form、UserControl等对象在C++意义上进行所谓的可视化设计,在此之前的10年时间里不客气地说,“Visual”对于Visual C++而言,仅仅是个修饰词而以。著名的MFC框架至今也不能做到可视化,难道Microsoft没有这个能力?我研究过Microsoft的Visual Basic for Application SDK,本来这是一个相对容易的框架,Microsoft提供的一套开发办法将这个SDK反而搞复杂了(其实,Microsoft完全可以使得问题变得简单),因此扶植了一个第三方公司对此进行技术支持,也许,将问题变得复杂,对应的东西也就增值了。基于Form的框架,对于大多数开发人员而言,十分易于上手,而对于那些偏执于C++的程序员而言,却不是一个好的事情,因为基于C++编码不是很容易实现基于Form编程所实现的效果,这一点是C++程序员的内心苦涩,在一定程度上也隔开了C++程序员与非C++程序员,也许是因为缺乏强劲的竞争对手,使得Microsoft如愿的将开发人员纳入了他所规定的开发模式,我们注意到,大败Netscape之后,IE几乎不升级了,因此人们针对Microsoft的垄断有了切肤之痛的感受,我们回头看看C++,Microsoft的VC++,1998年经典的VC++6出来后,作为VC骨干成分的MFC、ATL基本上就是形式上的改变,直到今天,除了IDE越变越华丽之外,MFC/ATL几乎没有变化,显然Microsoft用于开发Office、Visual Studio .NET IDE的GUI是个内部的公共软件库,而且这些东西不是“托管”的,托管代码仅仅是通过“挂接”途径介入Office、Visual Studio .NET IDE之中的。也就是说,Microsoft自己很少用其商品化开发工具中提供的东西,即使用,他们的使用方法也不同于我们,VC 6.0框架、IDE完全是用MFC/ATL开发的,Microsoft能做到,我们却无法做到,因为不经意间,我们可能被引入了一个预先设计好的路途,使得我们的创造力仅仅就是能够开发个什么工程、实现个什么小玩意而已。
VC 2005中,C++/CLI是可视化的,前提是你必须设计Form框架下的软件,借助于一个动态链接库,Microsoft允许你在MFC中使用UserControl控件,除了这些特别的之外,VC++中可能没有什么新的景色,对于GUI发烧友而言,华丽的VS IDE会催生新一轮的Microsoft的模仿秀,这一点正是Microsoft愿意看到的,如果你想做一些有意义的东西,突破Microsoft预设的思维屏障,是你的(开发者的)的问题。WinForm的可视化设计,使得大多数软件开发者变得“惰性”,使得传统的C++程序员离大众越来越远,因此对Microsoft的冲击力也就越来越弱了。从这一点上说,Microsoft的策略是对的。
liucaizhi 2005-08-02
  • 打赏
  • 举报
回复
牛.
gohappy_1999 2005-08-02
  • 打赏
  • 举报
回复
mark
mintwlf 2005-08-02
  • 打赏
  • 举报
回复
2005确实不错,微软似乎不太那么狂妄,又仔细地做了点事情。
To sunhui(MFC.NET):看了你的这段话之后很有感触,以前和朋友也一起谈过,想谈点我的看法.
其实Visual Studio++6.0已经基本覆盖微软至VS 2005以前的所有开发工具思想,然而VS6.0在98年就发布了,从这个方面就可以看出微软的技术实力了,我们看到的发布的已经是过时的了。微软不是不知道怎样打造好工具,只是出于商业竞争的需要不想过早地公开一些新技术。
社会栋梁 2005-08-02
  • 打赏
  • 举报
回复
比2003人性化,bug也少了
jiajie828 2005-08-02
  • 打赏
  • 举报
回复
UP
zhucde 2005-08-01
  • 打赏
  • 举报
回复
鉴于VS2005太大,而且C盘至少需要700多M,
直到前天,才下决心安装.
MFCPlus 版主 2005-08-01
  • 打赏
  • 举报
回复
关于中文支持:
VS 2005是基于UNICODE的产品,这一点不仅表现在生产的程序上,而且还表现在编译器中,现在,在Visual C++中,你可以如下声明变量:
CString 窗口标题;
你可以如下赋值:
窗口标题 = _T("生产管理系统");
你甚至可以用中文定义一个C++类,例如:

#pragma once


// 测试类 frame

class 测试类 : public CFrameWnd
{
DECLARE_DYNCREATE(测试类)
protected:
测试类(); // protected constructor used by dynamic creation
virtual ~测试类();

protected:
DECLARE_MESSAGE_MAP()
};
不知道这一点算不算一个有意思的变化……
老夏Max 2005-08-01
  • 打赏
  • 举报
回复
没有用过.net,不过我的看法更为实际一点:不管什么技术的出现到成为主流,都需要一段很长的“认同时间”。微软的种种技术的出现都是一种积累、尝试的表现,这种积累或者是尝试也许不会得到认同,个人觉得.net刚出现的时候身边一片反对的声音。
MFCPlus 版主 2005-08-01
  • 打赏
  • 举报
回复
COM能消失吗?
沸沸扬扬的.NET就要升级到2.0版了,那么在VS2005中是否削弱了COM?事实上,对于高手们热衷的C++技术而言,丝毫看不出Microsoft削弱COM技术的迹象,Microsoft不是要淘汰COM,而是希望给COM技术保留一个过渡期,使得COM自然过渡到.NET,然而作为.NET的底层基础,只要.NET存在,COM一定存在,形式上看,.NET的核心需要COM技术作为引导、支持,Microsoft在MFC类库中实现的对.NET控件的支持,无可争辩的表明,.NET控件只不过是ActiveX控件的一个变种,正如每个MFC对象都是从CObject对象派生的一样,每个.NET对象都有一公共的基类,这个类就是Object,从类库的结构上看,.NET类库中一定程度上与MFC类库的结构很相似,或者说将近十年的MFC类库设计经验在.NET类库中正得以体现,每个Object对象可以与一个COM对象形成一个一一对应关系,这一点形成了.NET对象与COM对象互操作的基础。.NET,一个更好的COM,在VC 2005中会得到更好的体现。
Visual Studio Tools for Office,是Microsoft用来替换VBA的面向Office的二次开发框架,借助于一个ActiveX控件,Microsoft实现了Office文档上直接嵌入.NET控件,从这个意义上看,至少目前,.NET的核心深处的东西还是COM技术,因此,即使VS 2005的后续接任者面世,COM依然不会消失,MFC、ATL也不会消失……
加载更多回复(8)
跟我一起学Visual Studio 2005(1):C#语法篇(上) (Level 200) 课程简介:随着Dot NET Framework 2.0和Visual Studio 2005的发布,dot net平台的应用程序开发实力不断增强,越来越多的开发者加入到dot net开发大平营。"跟我一起学Visual Studio 2005”这个系列课程,从语法、Win Form编程、Web Form编程、ADO.NET数据库编程和智能设备编程等全方位剖析VS 2005所带来的全开发体验。随着DOT NET Framework 2.0的发布,C#也从1.1版升级到2.0版。增加了不少的有用的特性,如Partial、泛型等。本课程将会实例讲解这些语法的用法和特性。 跟我一起学Visual Studio 2005(2):C#语法篇(下) (Level 200) 课程简介:随着Dot NET Framework 2.0和Visual Studio 2005的发布,dot net平台的应用程序开发实力不断增强,越来越多的开发者加入到dot net开发大平营。"跟我一起学Visual Studio 2005”这个系列课程,从语法、Win Form编程、Web Form编程、ADO.NET数据库编程和智能设备编程等全方位剖析VS 2005所带来的全开发体验。随着DOT NET Framework 2.0的发布,C#也从1.1版升级到2.0版。增加了不少的有用的特性,如Partial、泛型等。本课程将会实例讲解这些语法的用法和特性。 跟我一起学Visual Studio 2005(3):C# 2.0 语言和编译器增功能介绍 (Level 200) 课程简介:随着Dot NET Framework 2.0和Visual Studio 2005的发布,dot net平台的应用程序开发实力不断增强,越来越多的开发者加入到dot net开发大本营。"跟我一起学Visual Studio 2005”这个系列课程,从语法、Win Form编程、Web Form编程、ADO.NET数据库编程和智能设备编程等全方位剖析VS 2005所带来的全开发体验。C# 2.0语法除泛型之外,还增了例如:分部类、匿名方法、迭代器、可空类型等一系列的功能,本课程将会介绍近十几个C# 2.0语言和编译器的增功能,并以实例加以说明。 跟我一起学Visual Studio 2005(4):VS 2005 IDE针对C#编程的改进 (Level 200) 课程简介:随着Dot NET Framework 2.0和Visual Studio 2005的发布,dot net平台的应用程序开发实力不断增强,越来越多的开发者加入到dot net开发大本营。"跟我一起学Visual Studio 2005”这个系列课程,从语法、Win Form编程、Web Form编程、ADO.NET数据库编程和智能设备编程等全方位剖析VS 2005所带来的全开发体验。自从Visual Studio.net问世以来,VS.NET IDE为dot net平台的应用程序开发提供了一个即强大又完整的开发工具,使dot net平台的应用程序开发越来越方便和简单。在经过了VS.NET 2002,2003两个版本之后,VS.NET 2005版的IDE在前两个版本的基础上添加了更多的功能。本课程的目的是让各位对VS.NET 2005的IDE在C#开发方面的改进有一个全面的认识。 跟我一起学Visual Studio 2005(5):ASP.NET 2.0 编译模型 (Level 200) 课程简介:以往,我们利用ASP.NET 1.x版开发的的应用程序,部署后对应用程序的任何业务逻辑的改变都必须重编译整个应用程序,使1.x版的应用程序的后期改进及升级变得非常麻烦。作为一代的Web 应用的开发工具,ASP.NET 2.0针对ASP.NET 1.x作了大量的优化和改进。除了利用到了DOT NET 2.0的特性之外,ASP.NET 2.0在内部编译模型上也做了较大的改进,本课程将围绕ASP.NET编译模型作一个全面的对比阐述,使大家能够清楚地了解ASP.NET 2.0是如何编译、部署以及应用程序开发后期的修改及部署。 跟我一起学Visual Studio 2005(6):ASP.NET 2.0 内部改进 (Level 200) 课程简介:ASP.NET 2.0 除了编译模型的改进之外,针对页面生命周期也公开了的事件来支持功能,例如母版页、个性化以及集成的设备支持等。增强的缓存功能,以及扩展性支持,本课程主要对以上几个方面进行阐述。各位通过本讲可以更全面的了解ASP.NET 2.0的内部改进。 跟我一起学Visual Studio 2005(7):ASP.NET状态管理 (Level 200) 课程简介:Web Form编程不像Windows Form可以在本地进程中保存各种各样的状态信息。每次Web请求服务器都是无状态的。为了解决这种无状态的限制,ASP.NET提供了多种选项来保存状态,视图状态、控件状态、隐藏域、Cookie、查询字符串、应用程序状态、会话状态还有配置文件属性等。本讲将针对ASP.NET状态管理作一个全面的阐述,听完本讲可让您对ASP.NET状态管理有一个完整的认识。 跟我一起学Visual Studio 2005(8):ASP.NET配置管理 (Level 200) 课程简介:本讲将阐述ASP.NET的配置管理,包括配置文件的结构、文件层,配置系统中的安全机制,以及如何配置ASP.NET应用程序等。 跟我一起学Visual Studio 2005(9):ASP.NET部署 (Level 200) 课程简介:ASP.NET部署在Visual Studio .net 2005中得到了更多的灵活及改进,复制部署、预编译部署都是的部署方式,本将将实例阐述,本讲也会涉及到ASP.NET并行部署的一些介绍。 跟我一起学Visual Studio 2005(10):ASP.NET应用程序性能优化 (Level 200) 课程简介:应用程序性能永远是一个永恒的话题,Web应用或网站的用户总是希望网站的响应越快越好。一个好的设计师从产品的需求调研阶段就应该考虑性能问题。当然,在产品未开发时总是不能考虑的很完善,这时,功能开发完成后对程序的性能优化就显得很有必要了。本讲将介绍如何优化ASP.NET应用程序,使每一位开发者都了解ASP.NET应用程序的优化方法,写出更高效的应用程序。 跟我一起学Visual Studio 2005(11):ASP.NET Web 应用程序安全 (Level 200) 课程简介:与应用程序性能一样,应用程序安全同样是一个非常重要的话题。现在越来越多的病毒不断产生,各种恶意的攻击每时每刻都在发生。如何保证 ASP.NET应用程序的安全,有些什么好的方法可以尽量地避免我们的程序受到攻击和破坏呢?本讲将围绕这个话题和大家做一个深入的探讨。 跟我一起学Visual Studio 2005(12):IIS 5.1/6.0 内幕 (Level 300) 课程简介:作为Web应用程序和Web服务的宿主,也作为Windows的核心组件之一的IIS,您了解它的运作原理吗?IIS 5.1和IIS 6.0 在机制方面有哪些不同,这些不同的机制对我们的ASP.NET应用的部署有什么影响,今天我们将剖析IIS,一起进入深层次的IIS内幕! 跟我一起学Visual Studio 2005(13):Office编程篇之Office编程概述 (Level 100) 课程简介:本讲将向大家介绍Visual Studio 2005 Tools for Office的基本结构,编程方式等,使各位能够对Visual Studio 2005 Tools for Office 有一个初步的了解。 跟我一起学Visual Studio 2005(14):Office编程篇之Office高级编程 (Level 200) 课程简介:本讲将深入介绍Office编程的一些高级编程技术,例如:使用Office对象模型实现应用程序自动化,Office数据库编程,以及Office解决方案的安全性等。 跟我一起学Visual Studio 2005(15):Office编程篇之Outlook 扩展编程 (Level 200) 课程简介:本讲将向大家介绍Visual Studio 2005 Tools for Office的Outlook扩展编程。主要以实例方式介绍如何使用VSTO来进行Outlook扩展。 跟我一起学Visual Studio 2005(16):Crystal Report篇之概述 (Level 100) 课程简介:自从93年开始,Crystal Report就集成到了微软的开发工具中了,发展到Visual Studio 2005,Crystal Report和Visual Studio的结合也越来越紧密了。本讲将向各位介绍Visual Studio 2005中的Crystal Report的基本概况,以及Visual Studio 2005中的Crystal Report的一些功能。 跟我一起学Visual Studio 2005(17):Crystal Report篇之设计报表 (Level 200) 课程简介:在Visual Studio 2005中利用Crystal Report是如何设计报表的呢?在设计方面Visual Studio 2005中的Crystal Report有哪些改进呢?本讲向各位介绍这一块设计的功能。 跟我一起学Visual Studio 2005(18):Crystal Report篇之公式详解 (Level 200) 课程简介:公式是Crystal Report中不可缺少的一个部分,利用公式我们可以做很多自定义的计算和操作。本节课我们将针对公式进行详细介绍。 跟我一起学Visual Studio 2005(19):Crystal Report篇之Web报表服务 (Level 200) 课程简介:我们可以像调用Web Service那样调用报表吗?答案是肯定的,本节将介绍Web 报表服务。 跟我一起学Visual Studio 2005(20):利用 Team Edition for Developers编写高质量的代码 (Level 300) 课程简介:软件产品的稳定和性能离不开高质量的代码,以往的开发工具只是一个代码编辑器,Visual Studio 2005 Team Edition for Developers为我们提供了多个确保代码质量的工具,本节课将和大家一起来讨论这些工具。自本堂课开始,跟我一起学Visual Studio系列课程就进入了Team System的范围,欢迎收听并多多提出建议! 跟我一起学Visual Studio 2005(21):利用 Team Edition for Developers进行单元测试 (Level 300) 课程简介:利用VSTS for Developers自带的单元测试工具进行单元测试,无需再离开IDE就可以进行单元测试了,本节将实例演示如何使用VSTS Developers进行单元测试。 跟我一起学Visual Studio 2005(22):利用 Team Edition for Developers分析应用程序性能 (Level 300) 课程简介:VSTS for Developers是如何帮助我们分析应用程序性能的呢?本节将综合介绍这个话题,并以实例进行演示。 跟我一起学Visual Studio 2005(23):Team Edition for Testers 介绍 (Level 200) 课程简介:除了单元测试工具外,Team Edition for Testers为我们提供了更多的专业测试工具,利用这些工具,我们可以进行 Web测试,负载测试,手动测试,一般测试以及顺序测试。今天这堂课将一一介绍这些测试工具。 跟我一起学Visual Studio 2005(24):利用 Team Edition for Architects 设计分布式应用程序 (Level 300) 课程简介:分布式应用程序的概念很早就提出了,自从DOT NET平台诞生以后,我们能够更方便,更快速地开发分布式应用程序了。利用 VSTS for Architects提供的设计工具,使我们的架构师或开发人员更能直观清楚地了解分布式应用程序的设计。这一堂课将向大家介绍这些设计工具。 跟我一起学Visual Studio 2005(25):利用 Team Foundation Server 进行团队协作开发 (Level 200) 课程简介:项目经理,开发人员,测试人员,技术架构师,公司领导,文档人员等项目团队成员之间的有效的沟通在项目时间较长,项目较大的项目中,总是存在较多瓶颈,产生一些无法预料的风险,利用VSTS Team Foundation Server可以更好地使项目团队进行协作开发,有效地沟通,本堂课将带领大家了解VSTS Team Foundation Server的基本知识。 跟我一起学Visual Studio 2005(26):源代码管理 VSS or Team Foundation? (Level 200) 课程简介:源代码控制工具是开发团队不可缺少的工具。相信各位都对Visual SourceSafe有一定的了解。和VSS相比,Team Foundation提供的源代码工具有什么不一样呢?功能上又有哪些加强呢?今天我们专门针对这两种源代码管理工具进行对比,并且重点介绍Team Foundation源代码工具功能。
Visual Studio 2022扩展开发入门课前准备(1)认识VS扩展

16,548

社区成员

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

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

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