深入编程内幕——Visual C++

所需积分/C币:10 2011-10-29 19:13:55 1.16MB PDF
1
收藏 收藏
举报

深入编程内幕——Visual C++ 深入编程内幕——Visual C++ 深入编程内幕——Visual C++
深入编程内幕— -Visual c++ 5.2打印分页 ■■■■■■■■■■■■■■■■■■■■■■■國■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■a■ 62 53打印工作的开始和结束 63 5.4打印程序实例.,63 四、Vc程序调试., ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 69 1.1调试环境的建立.。,,,,,,,,,,,,,69 1.2调试的一般过程.,,71 1.3如何设置断点 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■a■ 71 1.4控制程序的运行 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 79 1.5查看工具的使用 81 2高级调试技术 89 2.1 TRACE宏的利用 n89 2.2 ASSERT宏的利用..,,,,,,90 23 ASSERT VALID宏的利用以及类的 Assertvalid(成员函的重载………90 2.4对象的DUMP函数的利用..,…,,,,,91 3内存漏洞的检查 91 五 VISUAL C++与多媒体,,,,,,,,,,,,,,,,,,,,,,94 1对声音的处理.,,,,,,,,,,,,,,,,,,,,,94 1.1媒体控制接口....,,,,,,,,,,,,,,,,,,,,,,,,,94 1.2波形混音器 .108 2多媒体文件I/o ■■■■■■■■■■■■■■■■■■■ na110 3多媒体图形图像技术.120 4图像合成.135 5FLc动画 n138 6热点 170 深入编程内幕— -Visual c++ 走进 Visual c+ Visual c十+作为一个功能非常强大的可视化应用程序开发工具,是计算机界公认的最 优秀的应用开发工具之一。 Microsoft的基本类库MFc使得开发 Windows应用程序比以 往任何时候都要容易。本光盘教学软件的目的就是为了让你学会在 Visual c十十环境下,利 用微软的基本类库MFC开发出功能强大的 Windows应用程序。在本章节的内容当中,我们 将向您介绍使用vc开发软件需要用到的一些基本概念,使用MFC进行编程的基本特点,以 及 VISUAL C++集成开发环境提供的一系列编程辅助工具一一 WIZARD的使用方法。 1理解Vc工程 Visual c十+作为一种程序设计语言,它同时也是一个集成开发工具,提供了软件代码 自动生成和可视化的资源编辑功能。在使用 Visua|c++开发应用程序的过程中,系统为我 们生成了大量的各种类型的文件,在本节中将要详细介绍 Visual c+十中这些不同类型的文 件分别起到什么样的作用,在比基础上对 Visual c++如何管理应用程序所用到的各种文件 有一个全面的认识。 首先要介绍的是扩展名为dsw的文件类型,这种类型的文件在Vc中是级别最高的,称 为 Workspace文件。在Vc中,应用程序是以 Project的形式存在的, Project文件 以dsp扩展名,在 Workspace文件中可以包含多个 Project,由 Workspace文件对它 们进行统一的协调和管理。 与dsw类型的 Workspace文件相配合的一个重要的文件类型是以opt为扩展名的文 件,这个文件中包含的是在 Workspace文件中要用到的本地计算机的有关配置信息,所以 这个文件不能在不同的计算机上共享,当我们打开一个 Workspace文件时,如果系统找不 到需要的opt类型文件,就会自动地创建一个与之配合的包含本地计算机信息的opt文件 上面提到 Project文件的扩展名是dsp,这个文件中存放的是一个特定的工程,也就是 特定的应用程序的有关信息,每个工程都对应有一个dsp类型的文件。 以clw为扩展名的文件是用来存放应用程序中用到的类和资源的信息的,这些信息是vc 中的 Classwizard工具管理和使用类的信息来源。 Page no. 4 深入编程内幕— -Visual c++ 对应每个应用程序有一个 readme. txt文件,这个文件中列出了应用程序中用到的所有 的文件的信息,打开并查看其中的内容就可以对应用程序的文件结构有一个基本的认识 在应用程序中大量应用的是以h和cpp为扩展名的文件,以h为扩展名的文件称为头文 件。以cpp为扩展名的文件称为实现文件,一般说来h为扩展名的文件与cpp为扩展名的文 件是一一对应配合使用的,在h为扩展名的文件中包含的主要是类的定义,而在cpP为扩展 名的文件中包含的主要是类成员函数的实现代码。 在应用程序中经常要使用一些位图、菜单之类的资源,Vc中以rc为扩展名的文件称为资 源文件,其中包含了应用程序中用到的所有的 windows资源,要指出的一点是rc文件可以 直接在vC集成环境中以可视化的方法进行编辑和修改。 最后要介绍的是以rc2为扩展名的文件,它也是资源文件,但这个文件中的资源不能在 vc的集成环境下直接进行编辑和修改,而是由我们自己根据需要手工地编辑这个文件。 对于以 ico, bmp等为扩展名的文件是具体的资源,产生这种资源的途径很多。使用rc 资源文件的目的就是为了对程序中用到的大量的资源进行统一的管理。 2MFC编程特点 如果你曾经使用过传统的 windows编程方法开发应用程序,你会深刻地体会到,即使是 开发一个简单的 windows应用程序也需要对 windows的编程原理有很深刻的认识,同时 也要手工编写很多的代码。因为程序的出错率几乎是随着代码长度的增加呈几何级数增长的, 这就使得调试程序变得非常困难。所以传统的 windows编程是需要极大的耐心和丰富的编程 经验的。 近几年来,面向对象技术无论是在理论还是实践上都在飞速地发展。面向对象技术中最重 要的就是“对象”的概念,它把现实世界中的气球、自行车等客观实体抽象成程序中的“对 象”。这种“对象”具有一定的属性和方法,这里的属性指对象本身的各种特性参数。如气球 的体积,自行车的长度等,而方法是指对象本身所能执行的功能,如气球能飞,自行车能滚动 等。一个具体的对象可以有许多的属性和方法,面向对象技术的重要特点就是对象的封装性, 对于外界而言,并不需要知道对象有哪些属性,也不需要知道对象本身的方法是如何实现的, 而只需要调用对象所提供的方法来完成特定的功能。从这里我们可以看出,当把面向对象技术 应用到程序设计中时,程序员只是在编写对象方法时才需要关心对象本身的细节问题,大部分 的时间是放在对对象的方法的调用上,组织这些对象进行协同工作。 Page no. 5 深入编程内幕— -Visual c++ MFc的英文全称是 Microsoft Fundation classes,即微软的基本类库,MFC的 本质就是一个包含了许多微软公司已经定义好的对象的类库,我们知道,虽然我们要编写的程 序在功能上是干差万别的,但从本质上来讲,都可以化归为用户界面的设计,对文件的操作 多媒体的使用,数据库的访问等等一些最主要的方面。这一点正是微软提供MFC类库最重要 的原因,在这个类库中包含了一百多个程序开发过程中最常用到的对象。在进行程序设计的时 候,如果类库中的某个对象能完成所需要的功能,这时我们只要简单地调用已有对象的方法就 可以了。我们还可以利用面向对象技术中很重要的“继承”方法从类库中的已有对象派生出我 们自己的对象,这时派生出来的对象除了具有类库中的对象的特性和功能之外,还可以由我们 自己根据需要加上所需的特性和方法,产生一个更专门的,功能更为强大的对象。当然,你也 可以在程序中刨建全新的对象,并根据需要不断完善对象的功能。 正是由于MFc编程方法充分利用了面向对象技术的优点,它使得我们编程时极少需要关 心对象方法的实现细节,同时类库中的各种对象的强大功能足以完成我们程序中的绝大部分所 需功能,这使得应用程序中程序员所需要编写的代码大为减少,有力地保证了程序的良好的可 调试性。 最后要指出的是MFC类库在提供的对象的各种属性和方法都是经过谨慎的编写和严格的 测试,可靠性很高,这就保证了使用MFc类库不会影响程序的可靠性和正确性。 3使用 Wizard Visua|C++是一种功能强大的通用程序设计语言,它提供了各种向导和工具帮助我们来 实现所需的功能,在一定程度上实现了软件的自动生成和可视化编程。下面就为你介绍vC集 成环境中几个最主要的开发工具的使用方法。 首先要介绍的是 Appwizard工具,这个工具的作用是帮助我们一步步地生成一个新的应 用程序,并且自动生成应用程序所需的基本代码。下面我们就介绍使用 Appwizard生成一个 应用程序的具体步骤。 单击File菜单New菜单项,系统弹岀的对话让我们选择所要创建的文件类型,这里的文件 分成了Fles, Project, Workspaces, other documents四种大类型,每一个类型 下面又包含许多具体的文件类型,选中 Projects标签,标签下的工作区中列出的是各种不同 的应用程序类型,比如d类型的动态链接库,exe类型的可执行程序等,这里选中MFc Appwizard(exe)遄项,表示要创建的是一个使用MFc基本类 Page no. 6 深入编程内幕— -Visual c++ 库进行编程的可执行程序。如下图11所示: 区 Files Projects Workspaces other Documents I 题当 ATL COM Appwizard Project name: r Custom Appwizard a Database Project FRDevStudio Add-in wizard Location: ISAPI Extension Wizard ake MFC ActiveX Controlwizard S MFC Appwizard (dil Ee MFC Appwizard ( ENew Database Wizard c Create new workspace 圆win32卹 pplication C Add to current workspace win 32 Console Application Win32 Dynamic-Link Library 厂 Dependency of E win 32 Static Library Platforms: Win 32 OK Cancel 图1.1 选好后在 project name一栏中为程序起一个名字为test,在 location一栏中为程序 定义文件存放的目录,对话框右下角的 platforms一栏中的Win32项表示要创建的程 序是建立在32位的 windows平台基础上。单击oK按钮,就启动了使用MFC方式开 发应用程序的 Appwizard功能。 深入编程内幕— -Visual c++ 区 Files Projects Workspaces I Other Documents 题 ATL COM Appwizard Proiect name r Custom Appwizard test 面 Database Project F DevStudio Add-in wizard Location <ISAPI Extension Wizard J Makefile c:\tempest U9MFC ActiveX Controlwizard EMFC Appwizard (dll MFC Appwizard|c×e E New Database wizard G Create new workspace 当wm32 Console Application C Add to current workspace 厂 Dependency of .win 32 Dynamic-Link Library swin 32 Static Library Platforms Cancel 图12 Wizard让我们选择程序的类型和程序中的资源所用的语种,这里不妨选择程序类型为单 文档界面,语种为英语,然后单击NEⅩT按钮。 ■ FC AppWizard-Step1 ile Edit vier wind。詈HeP What type of application would you like to create? C Single document C Multiple documents C Dialog based e。d What language would you like your resources in? 英语国 PPWZENU DLL Back Next Finish Cancel 图13 深入编程内幕— -Visual c++ Wizard让我们选择是否需要提供数据库方面的支持,这里选择NoNE,然后单击 IFC AppTizard- Step 2 of 6 File Edit Yiew window Help What database support would you like to include? c Nor Erit C Header files only C Database view without file support C Database view with file support If you include a database view, you must select a data source Data Sou No data source is selected Back Next Finish Cancel NEXT按钮 图14 下面选择程序中对复合文档的支持,这里选择NoNE。 FC AppTizard- Step 3 of 6 了区 What compound document support would you like to File edit ie"id。"HeP include? C Container C Mini-server C Full C Both container and server 厂 Activex document Would you like support for compound files? C Yes, ple C No, thank you What other support would you like to include? 厂 Automation v ActiveX Controls Back Next Finish Cancel 图15 Page no. 9 深入编程内幕— -Visual c++ ●接着选择程序的其它一些特性,如提供对 WINSOCK的支持等。这里对系统的缺省值不 作改变如下图1.6所示。单击NEXT按钮。 图1.6 IFC AppTizard Step 4 of 6 What features would you like to include? File Edit Yie= wind。"Help Print. y Docking toolba M Initial status bar y Printing and print preview FC AppTizard- step 5 of 6 了区X Microsoft Developer Studio File Edit Yiew Insert Build Help Would you like to generate source file comments? Yes, ple C No, thank you // TODO How would you like to use the MFC library? c As a shared DLL C As a statically linked library ●在 使用 ME 在以后生 时,则把 。选好 <Back Next Finish Cancel 后自

...展开详情
试读 127P 深入编程内幕——Visual C++
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
feipengliu 谢谢楼主的分享,很不错的参考资料。
2014-11-13
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
关注 私信
上传资源赚积分or赚钱
最新推荐
深入编程内幕——Visual C++ 10积分/C币 立即下载
1/127
深入编程内幕——Visual C++第1页
深入编程内幕——Visual C++第2页
深入编程内幕——Visual C++第3页
深入编程内幕——Visual C++第4页
深入编程内幕——Visual C++第5页
深入编程内幕——Visual C++第6页
深入编程内幕——Visual C++第7页
深入编程内幕——Visual C++第8页
深入编程内幕——Visual C++第9页
深入编程内幕——Visual C++第10页
深入编程内幕——Visual C++第11页
深入编程内幕——Visual C++第12页
深入编程内幕——Visual C++第13页
深入编程内幕——Visual C++第14页
深入编程内幕——Visual C++第15页
深入编程内幕——Visual C++第16页
深入编程内幕——Visual C++第17页
深入编程内幕——Visual C++第18页
深入编程内幕——Visual C++第19页
深入编程内幕——Visual C++第20页

试读结束, 可继续阅读

10积分/C币 立即下载 >