友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
富士康小说网 返回本书目录 加入书签 我的书架 我的书签 TXT全本下载 『收藏到我的浏览器』

C语言实例教程(PDF格式)-第2部分

快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!



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

是当你急切地想进入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++异常处理。C++同步异常 

 处理允许编译器生成更小的代码,因此它是Visual C++ 5。0新的 

 默认C++异常处理模式。  



l 对用来控制代码优化所面向的处理器的编译器选 

 项/G3、/G4、/G5、/G6和/GB作了修改。  



l 将/GX编译器选项映射为/EHsc。  



l 允许使用链接器选项/PDBTYPE指定包括调试信息的程序数据库 

 (PDB)。该选项可以节省磁盘空间并加快链接。  



l 在NMAKE 中支持批处理规则。  



 AppWizard  



l 新的AppWizard可以自动管理基于对话框的应用程序中的对话框 

 类。只需要简单的创建一个基于对话框的应用程序,并选择对 自 

 动化的支持,就可以象早期版本的AppWizard一样,得到一个支持 

 基本自动化的基于对话框的应用程序。通过单独的代理类,对话 

 框类也可以通过自动化导出。你可以添加方法和属性来导出对话 

 框中的元素。  



l 定制的AppWizard可以改变工程创建时的设定。例如,你可以在目 

 标创建之后调整编译器、链接器和查看设定或者添加定制的创建 

 步骤。  


…………………………………………………………Page 14……………………………………………………………

 MFC  



l asynchronous (URL) moniker允许应用程序异步的下载文件和控 

 件属性,以便在任务完成后为其它进程释放系统资源。  



l 可以在Web浏览器 (如Internet Explorer 3。0)或支持ActiveX文档 

 的OLE容器 (如Microsoft Office Binder)的整个客户区显示活动 

 的文档。  



l Win32 Internet API (WinInet)使Internet成为任意应用程序的 

 一个完整部分并简化了Internet服务,如FTP、HTTP和gopher的访 

 问。  



l 增加了对DAO 3。5的支持。  



l 增加了对ODBC 3。0的支持,并对MFC ODBC类作了几个重要的修 

 改。  



l COleDateTime成员函数SetDate、SetDateTime、SetTime的返回值 

 从BOOL改变为int。每一个成员函数当COleDateTime对象被正确设 

 置时返回0,否则返回1。该返回值基于DateTimeStatus枚举类 

 型。  



l 新增示例程序IMAGE。该程序生成一个可以异步下载数据的 

 ActiveX控件。  



 Active Template Library (ATL) 2。1  



l ATL 2。1版支持创建既小又快的ActiveX控件。  



 C Runtime Library  



l 新增的函数_itoa、_i64toa和_ui64toa将数据转换为一个以null 

 结尾的字符串。所对应的宽位字符版本为_itow、_i64tow和 

 _ui64tow为_itoa、_i64toa和_ui64toa。  



l 改善了下列的通用浮点超越函数的性能:pow、sqrt、log、 

 log10、sin、cos、tan、asin、acos、atan。  



l 改善了内存移动和内存拷贝函数的性能。  



 ANSI标准C++库  


…………………………………………………………Page 15……………………………………………………………

  l Visual C++的标准库遵从1996年9月24 日公布的ANSI C++ (X3J16) 

   工作单——ANSI Doc No。 X3J16/96…0178 WG21/N0996。该标准于 

   1996年7月在Stockholm会议上制定。  



   OLE DB  



  l OLE DB是一组OLE接口,它使应用程序可以以统一的方式访问保存 

   在不同信息源中的数据。这些接口支持适合于数据源的大量数据 

   库功能性,并允许数据源共享其数据。所配套的OLE DB软件开发 

   工具包所提供的一组软件部件、工具和文档可以在开发OLE DB客 

   户和提供程序提供帮助。  



   ERRLOOK工具  



  l ERRLOOK工具可以使用系统错误的值来检索相应的错误消息,其中 

   包括OLE HRESULT。错误值可以通过包括拖放、编辑命令等的多种 

   方法给出。由ERRLOOK所返回的错误消息文本可以复制并粘贴到其 

   它应用程序中。  



除了以上新增特性之外,在Visual          C++      5。0光盘上的 

DEVSTUDIOVCSAMPLES 目录下还包括了一些新增的示例程序。  



   (2) 企业版  



除包括专业版中的所有特性外,Visual C++ 5。0企业版还包括下列特 

性以支持企业级应用程序的开发:  



  l Microsoft Transaction Server (Microsoft事务服务器)用于创 

   建基于事务的应用程序。  



  l Visual Database Tools (可视化数据库工具)提供了数据库和SQL 

   查询的图形化设计。  



  l 调试数据库连接时具有更好的性能,该进程将比过去快上很多。  



  l 扩展的SQL数据类型支持使你可以方便的将本地变量变为除text和 

   image外的所有SQL数据类型。这种变换包括money类型和datetime 

   类型。可以在本地变量和NULL值之间相互变换。还可以方便的查 

   看包括text和image在内的所有SQL数据类型。  



  l 在光盘上的DEVSTUDIOVCSAMPLES 目录下包括了特定于企业的版 

   的新增示例程序。  


…………………………………………………………Page 16……………………………………………………………

   (3) 学习版  



Visual   C++   5。0学习版包括了学习C/C++和使用MFC、OLE、ODBC、 

DAO、ActiveX和的各种工具,但不包括下面的特性:  



  l 到MFC的静态链接  

   使用Visual C++ 5。0学习版编写的应用程序只能在运行时链接到 

   MFC动态链接库。  



  l 代码优化  

   不能使用/O选项来生成更小和更快的代码。  



  l 程序剖析  

   不能使用剖析程序来分析程序代码中的某一部分是否可以从性能 

   改进中获益。  



  l RemoteData控件及其它的数据绑定控件  



除了上面的内容外,Visual C++ 5。0学习版包括专业版中的其它新特 

性。  



   (4) 集成开发环境  



Microsoft  Developer  Studio用于Visual  J++  1。1、Visual  

InterDev、Visual C++ 5。0和MSDN。新的Developer Studio包括以下 

的新特性:  



  l 自动化和宏  

   可以使用Visual Basic脚本来自动操纵例行的和重复的任务。可 

   以将Visual Studio及其组件当作对象来操纵,还可以使用 

   Developer Studio对象模型创建集成的附加程序。  



  l ClassView  

   使用文件夹来组织C++和Java中的类,包括使用MFC、ATL创建或自 

   定义的新类。  



  l 可定制的工具条和菜单  



  l 连接到正在运行的程序并对其进行调试,还可以使用宏语言来自 

   动操作调试器。  



  l 可以在Developer Studio中查看Internet上的World Wide Web 


…………………………………………………………Page 17……………………………………………………………

   页。  



  l 可以在一个工作空间中包括多个不同类型的工程  

   工作空间文件使用扩展名。dsw来代替过去的扩展名。mdp,工程文 

   件使用扩展名。dsp来代替过去的扩展名。mak。  



  l 改进的资源编辑器  

   在Visual C++中,可以使用WizardBar来将代码与程序中的可视元 

   素挂钩。  

   快捷键、二进制、对话框和字符串编辑器支持定位至快捷键、 

   ASCII字符串、十六进制字节串、控件ID和标签及指定字符串的 

   Find命令  

   更方便的一次修改多个项 (可以快捷键、对话框、菜单和字符串) 

   的属性。  



  l 改进的文本编辑器  

   可以使用正确的句法颜色设置来显示无扩展名的头文件。  

   可以定制选定页边距的颜色来更好的区分同一源代码窗口中的控 

   件和文本区域。  

   Find in Files命令支持两个单独的窗格。  



  l 上下文相关的What’s This帮助  



  l 改进了的WizardBar  

   可用于Visual J++。  



  l 新增的向导  

   添加了集成到Visual J++和Visual InterDev中的新增向导。  



          第四节 Developer Studio的使用  



在一整套的Visual Studio 97 中,Visual C++ 5。0、Visual J++ 1。1 

和Visual      InterDev都使用同一个开发环境,称作Developer  

Studio。你将在Developer  Studio中创建所开发的应用程序的源文 

件、各种资源文件及其它文档。这些文件以工作空间和工程的形式进 

行组织。Developer  Studio中一次只能打开一个工作空间,在同一个 

工作空间中可以包括多个工程,一般来说,每一个工程你所开发的一 

个应用程序。这些工程相互之间可以具有某个联系和从属关系,也可 

以彼此完全独立。此外,这些工程还可以是不同类型的,比如说,你 

可以在一个已经包括有一个Visual       C++工程的工作空间中添加一个 

Visual  J++或是Visual  InterDev工程。工程中除了包括了应用程序 


…………………………………………………………Page 18……………………………………………………………

所用到的源文件、资源文件外,还可以包括其它类型的文件,如应用 

程序的规格说明书、流程图、开发 日程等等。对于那些由ActiveX部 

件 (如Microsoft  Word等)所创建的ActiveX文档,可以在Developer  

Studio中直接打开。而对于那些与其它类型的应用程序相关联的文 

档,你也可以通过Developer Studio在独立的窗口的打开。  



Developer  Studio所包括的内容是很丰富的。本节只讲述一些基本的 

概念和用法。这些用法是进行下一步所不可缺少的。对一些特殊的用 

法,我们将在本书后面的章节中需要用于再作说明。  



由于本书假定你已经是一个熟练的Windows   95/NT用户,因此,安装 

Visual  C++的过程对于你来说应该是一个相对很容易的事,所以我们 

不再在这个问题上浪费时间。下面的过程中,我们假定你已在你的计 

算机中安装上了Visual  C++  5。0,在一般情况下,这同时也安装了 

Developer Studio,并以它作为Visual C++ 5。0 的集成开发环境。  



这时,从你的开始菜单中运行Visual  C++  5。0,屏幕显示应该如图 

1。1所示。图1。1还标注了Developer  Studio中的几个常提到的部件的 

名称,以使得,当以后我们提到这些名词时,你可以知道它们所指的 

是Developer Studio中的哪一部分。  



                                    



      图1。1 Microsoft Developer Studio Visual C++ 5。0的集成开发环境  



当然,你所看到的内容和工具条等也许会有少许的不同,这取决于你 

的设置。下面我们来讲述其中的主要部分。我们看到,在Developer  

Studio,整个窗口被分成了若干个部分,需要注意的事,随着设置的 


…………………………………………………………Page 19……………………………………………………………

不同,或者所安装的软件包的不同,或者是处于开发的不同阶段 (典 

型地,在输入源代码和调试程序的两个不同阶段),你所见到的 

Developer Studio组件和相互之间的位置也会不一样。  



前面说到过,在Developer           Studio中,我们是以工作空间 

(workspace)和工程 (project)来组织文件和进行工作的。工作空间位 

于这个结构的最顶层,因此,我们首先需要创建一个工作空间。创建 

工作空间通常有两种方法:  



第一种方法是显式的创建一个空白的工作空间,然而向工作空间中添 

加工程。这时,我们从Developer  Studio的File菜单下选择New。。。命 

令,这时出现如图1。2所示的对话框。  



这时我们在Workspace      name处键入工作空间的名字,这里假设为 

WorkSpc,则Developer   Studio将在Location所指定的目录下创建名 

为WorkSpc的子目录 (当在Workspace  name处键入完工作空间名后,可 

以在Location处修改这个默认设置),然后以WorkSpc。dsw的文件名将 

该工作空间保存到这个 目录下。  



第二种创建工作空间的办法时直接创建一个工程。创建一个新的工程 

同样是选择File菜单下的New。。。命令,在类似于图1。2的对话框中单 

击Project选项卡,如图1。3所示。然后在该对话框中选择Create  new  

workspace单选钮 (这是Developer  Studio的默认选项)。注意在图1。3 

所示的对话框中,Project        name和Location的意义和图1。2中的 

Worksapce   name和Location的意义类似。这样,在创建工程时, 

Developer  Studio将创建一个同名的工作空间。然后将所创建的工程 

添加到该工作空间中。  



                                            


…………………………………………………………Page 20……………………………………………………………

                 图1。2 创建空白工作空间  



如果仅在工作空间中包括一个工程的话,使用第二种方式显然是很合 

理的,并且,也要比使用第一种方式创建空白工作空间,然后再在空 

白工作空间中添加工程的方法要简洁和方便。在今后的很多情况下, 

我们都将使用第二种方式来创建工程和包括工程的工作空间。但并不 

是说第一种方式就没有用处了。事实上,在第二种方法中, 

Developer  Studio将工作空间和工程保存到Location所指定的同一个 

目录下,这对于单个工程的工作空间是合理的。但如果你希望在工作 

空间中包括多于一个的工程的话,你也许希望在保存工作空间的目录 

下新建子目录来保存这些工程,因为这样更有条理,更利于文件的管 

理。这时,我们就需要使用第一种方式来创建空白工作空间,然后再 

在这个工作空间中新建和添加工程。  



在工作空间中新建工程的方法和上面的第二种方式几乎一样。只不过 

这时我们应该在图1。3所示的对话框中选择Add           to    current  

workspace  (在图1。3中,这个单选钮是灰的,这是因为当前并没有打 

开的工作空间的缘故)。要注意这时Location处的目录名是基于当前 

工作空间所在的目录的。单击OK后,Developer          Studio根据在 

Project name处所键入的工程名以。dsp的扩展名来保存该工程文件。  



                                          



                 图1。3 创建一个新的工程  



  l 注意:  



  l 本节不讨论那些由Developer Studio和所集成的开发包(如Visual  

   C++、Visual J++和Visual InterDev)创建和管理的文档,如源代 

   码文件、资源文件等。对于使用这些文件的方法,我们将在本书 


…………………………………………………………Page 21……………………………………………………………

   的其它章节中在需要用到的时候进行讲述。  



除了向工程中添加由Developer      Studio和相应的开发包 (如Visual  

C++、Visual  J++和Visual  InterDev)管理的文件外,还可以添加其 

它类型的文档,这些文档包括分成两类,一类由ActiveX部件创建和 

维护,另一类由其它的软件创建和维护。Developer  Studio在编辑这 

些文档时的行为是不同的。  



对于由ActiveX部件 (最常见的ActiveX部件有Microsoft  Word和Excel 

等,但是,这里所指的ActiveX部件并不限于Microsoft的产品,其它 

任何符合ActiveX部件标准的应用程序都是ActiveX部件)创建的文 

档,你可以在Developer  Studio窗口内部打开并编辑它们,这时,由 

该部件提供的菜单项融合进了Developer  Studio原有的菜单项,由该 

部件所提供的工具条取代了Developer  Studio原有的工具条。并且, 

所打开的文档显示于原有的InfoViewer  Topic窗口所在位置 (如图1。4 

所示,在这幅图中,我们向工程Project1 中添加了一个新建的 

Microsoft  Word文档,并在Developer  Stud
返回目录 上一页 下一页 回到顶部 9 9
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!