友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
狗狗书籍 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

C语言实例教程(PDF格式)-第3章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!




定制的工具条变得更加的容易。  



早在1989年,Microsoft的程序员们开始试图将C++和面向对象的编程 

概念应用于Windows编程中,以编写出一个可以使Windows编程更加简 

便的应用程序框架。他们把这个应用程序框架叫做AFX  (AFX这个词来 

源于Application  Framework,但奇怪的是这个词组中并没有包含 

 “X”这个字母)。直到今天,AFX小组早已不存在了,AFX这个名称也 

于1994年初不再使用,但在Visual  C++和MFC中,AFX的影子却随处可 

见,很多全局函数、结构和宏的标识符都被加上了AFX的前缀。  



最初的AFX版本在经过一年的艰苦之后诞生,却未能被大多数Windows 

程序员所接受。AFX的确是经过了精心的规划和编码,并且,它也提 

供了对Windows API的高度抽象,建立了全新的面向对象的AFX API, 

但最要命的是AFX API库根本不兼容于现有的Windows API。由此导致 

的最严重后果是大量的SDK代码无法移植,而程序员将学习两种完全 

不同的编程方法。  



AFX不得不重新做所有的一切,他们所创建的新的应用程序框架是一 

套扩展的C++类,它封装和映射了Windows   API,这就是MFC的前身。 

过去的AFX小组也变成了MFC小组。最终,MFC的第一个公开版本于 

1992年3月随Microsoft C/C++ 7。0  (而不是Visual C++ 1。0)一起推 

出。那时距Windows  3。1发布尚有好几个月。在MFC  1。0中还没有文 

档/视结构,但有类CObject和CArchive。在12个月之后,MFC   2。0随 

Microsoft新的编程工具Visual C++ 1。0一道出炉。与MFC 1。0一样, 

MFC 2。0仍是16位的,因为32位的Windows NT 3。1直到1993年7月才问 

世。在MFC 2。0中,增加了对文档/视结构、OLE 1。0、Windows 3。1公 

用对话框的支持和消息映射等。在Windows NT 3。1面世一个月以后, 

Microsoft推出了32版本的Visual   C++和MFC   2。1,它实际上是MFC  

2。0的Win32接口。  



最后一个16位的Visual  C++编译器是1993年12月推出的Visual  C++  

1。5,直到今天,一些为Windows  3。1编写16位应用程序的程序员还在 

使用这个版本。1994年9月,32位的MFC 3。0伴随着Visual C++ 2。0的 

一道面市,在今天的计算机图书市场上,还有着的大量的关于Visual  

C++  2。0和MFC  3。0 的图书出售,因此,你可以想象得出Visual  C++  

2。0所取得的成功和它所产生的影响。并不象你预想的那样,在 


…………………………………………………………Page 11……………………………………………………………

Visual C++ 5。0中包括的MFC版本不是MFC 5。0,而是MFC 4。21。发展 

到今天,MFC已发展成一个稳定和涵盖极广的C++类库,为成千上万的 

Win32程序员所使用。MFC库是可扩展的,它和Windows技术的最新发 

展到目前为止始终是同步的。并且,MFC类库使用了标准的Windows命 

名约定和编码格式,所以有经验的Windows   SDK程序员很容易过渡到 

MFC。MFC结合了Windows   SDK编程概念和面向对象的程序设计技术, 

从而具有极大灵活性和易用性。  



         第二节 Visual C++ 5。0的版本及新特性  



Visual C++ 5。0是Microsoft于1997年4月推出的最新的Visual C++编 

译器,它包括三个版本。各个版本之间的区别如表1。1所示:  



            第三节 Visual C++ 5。0的新特性  



如果你没有使用过Visual   C++   4。x,或者虽然使用过Visual   C++  

4。x,但对它还不是非常之熟悉,那么你可以跳过这一节的内容,继 

续阅读本书的其它内容。在这一节里列举了Visual C++ 5。0中新增的 

所有特性,这些内容对熟练掌握了Visual C++ 4。x的程序员来说是很 

有用处的,他们可以通过阅读本节了解到Visual  C++  5。0所做的改 

进,从而知道自己应该补充的是哪一方面的内容。而对于Visual  C++ 

的初学者和刚入门者来说,了解这些内容就不是那么有必要了,尤其 

是当你急切地想进入Visual C++ 5。0的编程实践中去的时候。  



                 表1。1 Visual C++ 5。0的不同版本  



     版本         特点  



     学习版        除了代码优化、剖析程序 (一种分析程度的运行时行为 

      (Learning  的开发工具)和到MFC库的静态链接外,Visual C++ 5。0 

     Edition)   学习版提供了专业版的其它所有功能。学习版的价格要 

                比专业版本低很多,这是为了使希望使用Visual    C++  

                5。0来学习C++语言的个人也可以负担得起。但你不可以 

                使用Visual C++ 5。0学习版来开发供发布的软件,其授 

                权协议明确禁止这种做法。  



     专业版        Visual  C++  5。0可用来开发Win32应用程序、服务和控 

      (Professional  件。在这些应用程序、服务和控件中可使用由操作系统 

     Edition)   提供的图形用户界面或控制台API。  



     企业版        可用来开发和调试为Internet或企业内网(intranet)设 

      (Enterprise  计的客户…服务器应用程序。在Visual  C++  5。0企业版 

     Edition)   还包括了开发和调试SQL数据库应用程序和简化小组开 

                发的开发工具。  


…………………………………………………………Page 12……………………………………………………………

下面我们分版本来讲述Visual C++ 5。0相对于上一个版本所新增加的 

内容:  



   (1) 专业版  



在Visual C++ 5。0专业版中包括如下的新增特性:  



   C++语言  



  l 新增下列C++关键字:bool、explicit、false、mutable、true和 

   typename。  



  l 允许使用__declspec来声明指定的存储类属性是应用于某一类型 

   还是某一类型的一个变量。  



   编译器、链接器和NMAKE  



  l 编译器添加了对的支持,从而简化了使用对象的C++客户的 

   开发。为了演示如何使用该特性来支持,新增了如表1。2所示 

    的示例程序。  



            表1。2 为演示编译器对的支持而新增的示例程序  



        示例程序   演示内容  



        ACDUAL  MFC应用程序中双界面的支持  



        INPROC  进程内自动化服务器  



        MFCCALC  使用自动化服务器实现的一个简单计算器  



        EXCEL   单独运行的自动化客户程序。该程序创建一个新的 

                Microsoft Excel电子表格,并生成饼图。  



        IDE  单独运行的自动化客户程序。该程序自动操纵 

                Microsoft Developer Studio  



                                                   续表1。2 



        示例程序   演示内容  



        MAIL  单独运行的自动化客户程序。该程序为Microsoft  

                Exchange 4。0 自动操纵了MAPI  



        MMAP  不同接口入口映射宏的使用  


…………………………………………………………Page 13……………………………………………………………

     LABRADOR   ATL的使用。该程序实现了一个没有用户界面的EXE服 

            务器  



     FRETHREAD  使用编译器的支持编写多线程客户程序和自由线 

           程服务器  



     ALLINONE   MAC、STL、ATL和的使用  



l 使用/O1选项编译生成的代码大小将比Visual C++ 4。2版小5%到 

 10%。  



l 链接器使用了/FIXED选项来创建更小的供发行的应用程序。因 

 此,在使用剖析程序时,由于需要重定位信息,链接器必须使 

 用/PROFILE和/FIXED:NO选项。这同样适用于其它如 

 BoundsChecker或Purify之类的链接后 (post…link)工具。  



l 新增的/EH编译选项可以更有效的控制C++异常
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!