Download presentation
Presentation is loading. Please wait.
Published byErica Lioba Blau Modified 6年之前
1
第1章Visual C++ 6.0开发环境 1.1开发环境概述 1.2开发环境的菜单功能 1.3开发环境的工具栏 1.4项目和项目工作区
1.5资源 1.6一个控制台应用程序 1.7程序调试 作业
2
1.1开发环境概述 界面由标题栏、菜单栏、工具栏、项目工作区窗口、文档窗口、输出窗口以及状态栏等组成,如图。
图1.2 Visual C++ 6.0开发环境 工具栏 菜单栏 项目工作区窗口 输出窗口 文档窗口 输出窗口标签 标题栏 状态栏
3
1.2开发环境的菜单功能 1.2.1 File菜单 File菜单中的命令主要用来对文件和项目进行操作。如图是File菜单中的各条命令,其中各项命令的功能描述如表。 图1.3 File菜单
4
1.2开发环境的菜单功能 1.2.2Edit菜单 Edit菜单中的命令是用来使用户便捷地编辑文件内容,如图,其中的各项命令的快捷键及它们的功能描述如表。 图1.4 Edit菜单
5
1.2开发环境的菜单功能 1.2.3View菜单 View菜单中的命令主要用来改变窗口和工具栏的显示方式,激活调试时所用的各个窗口等。如图,其中的各项命令的功能描述如表。 图1.5 View菜单
6
1.2开发环境的菜单功能 1.2.4 Insert菜单 Insert菜单中的命令主要用于项目及资源的创建和添加,如图。表列出了Insert菜单的各项命令的快捷键及它们的功能。 图1.6 Insert菜单
7
1.2开发环境的菜单功能 Project菜单 Project菜单中的命令主要用于项目的一些操作。图所示的是Project菜单中的各个命令。表列出了Project菜单的各项命令的快捷键及功能。 图1.7 Project菜单
8
1.2开发环境的菜单功能 1.2.6Build菜单 Build菜单中的命令主要用来应用程序的编译、连接、调试、运行,如图。表列出了Build菜单的各项命令的快捷键及它们的功能。 图1.8 Build菜单
9
1.2开发环境的菜单功能 1.2.7Tools菜单 Tools菜单中的命令主要用于选择或定制开发环境中的一些实用工具,如图;其中除了Visual C++ 6.0的组件外,其余的各项命令的快捷键及功能描述如表所示。 图1.9 Tools菜单
10
1.2开发环境的菜单功能 1.2.8 Windows菜单 Windows菜单中的命令主要用于文档窗口的操作,如图是Windows菜单中的各条命令,其中的各项命令的快捷键及它们的功能描述如表。 图1.10 Windows菜单
11
1.2开发环境的菜单功能 1.2.9 Help菜单 Visual C 提供了大量详细的帮助信息,而Help菜单便是得到这些帮助信息最有效和最主要的途径。图显示了Help菜单中的各命令项,其中的各项功能如表。 图1.11 Help菜单
12
1.3开发环境的工具栏 1.3.1工具栏概述 标准工具栏 Cut Paste Redo Output Find in Files
图1.12 标准工具栏 New Text File Cut Paste Redo Output Find in Files Search Open Save All Copy Undo Workspace Window List Find
13
Add/Remove breakpoints
1.3开发环境的工具栏 类向导工具栏 小型编连工具栏 图1.13 WizardBar Class Filter Members Actions 图1.14 Build MiniBar Compile Stop Build Go Build Execute Add/Remove breakpoints
14
1.3开发环境的工具栏 1.3.2工具栏的显示与隐藏 “Customize”对话框方式
(1) 选择“Tools”菜单“Customize”菜单项。 (2) 如图;单击Toolbars标签项,将显示出所有的工具栏名称,那些显示在开发环境上的工具栏名称前面将带有选中标记()。 (3)要显示某工具栏,鼠标左击该工具栏名称,使得前面的复选框带有选中标记;同样的操作再进行一次,工具栏名称前面的复选框的选中标记将去除,该工具栏就会从开发环境中消失。 快捷菜单方式 在开发环境中任何工具栏处右击鼠标,如图。表列出了各个菜单命令的功能。
15
1.3开发环境的工具栏 1.3.3工具栏的浮动与停泊 图1.17 浮动的标准工具栏
16
1.4项目和项目工作区 1.4.1项目基本概念 在VC中,项目中所有的源文件都是采用文件夹的方式进行管理的,它将项目名作为文件夹名,在此文件夹下包含源程序代码文件(.cpp,.h)、项目文件(.dsp)以及项目工作区文件(.dsw)等,下面列出了其他一些文件类型的的含义: .opt 关于开发环境的参数文件,如工具条位置等信息 .aps(AppStudio File) 资源辅助文件,二进制格式 .clw ClassWizard信息文件 .dsp(DeveloperStudio Project) 项目文件 .plg 编译信息文件 .hpj(Help Project) 帮助文件项目 .mdp(Microsoft DevStudio Project) 旧版本的项目文件 .bsc 用于浏览项目信息 .map 执行文件的映像信息纪录文件 .pch(Pre-Compiled File) 预编译文件,可以加快编译速度,但是文件非常大 .pdb(Program Database) 记录程序有关的一些数据和调试信息 .exp 记录DLL文件中的一些信息,只有在编译DLL才会生成 .ncb 无编译浏览文件(no compile browser)
17
1.4项目和项目工作区 还有相应的Debug或Release、Res等子文件夹。若创建的单文档应用程序项目名是Ex_Sdi,则各文件的布局如图。 VC应用程序向导创建项目时,系统会自动为项目创建Win32 Debug的运行程序,并使用相应的缺省配置。和Win32 Release版本的区别在于:Debug版本的运行程序有相应的调试信息码,Release版本的运行程序没有,但Release版本的运行程序经过代码的优化,其程序的运行速度被最大加速。 注意:在开发环境中,VC是通过左边的项目工作区窗口来对项目进行各种管理。项目工作区窗口包含三个页面,是ClassView页、ResourceView页和FileView页。 图1.18 项目文件的布局 Ex_Sdi文件夹 Debug或Release 文件夹 Res文件夹 类文件.cpp,.h 资源文件Ex_Sdi.rc 项目及项目工作区文件 其他文件 编连过程产生的文件 运行文件Ex_Sdi.exe 图标文件Ex_Sdi.ico等 工具栏资源Toolbar.bmp 其他资源Ex_Sdi.rc2等
18
1.4项目和项目工作区 1.4.2 ClassView 用以显示项目中的所有的类信息。假设打开的项目名为Ex_Sdi,单击项目区窗口底部的ClassView,则显示出“Ex_Sdi classes”的树状结点,在它的前面是一个图标和一个套在方框中的符号“+”,单击符号“+”或双击图标,Ex_Sdi中的所有类名将被显示,如CMainFrame、CEx_SdiApp、CEx_SdiDoc、CEx_SdiView等(如图所示)。 图1.19 ClassView 图1.20 ResourceView 图1.21 FileView
19
1.4项目和项目工作区 1.4.3ResourceView 1.4.4FileView
包含了项目中所有资源的层次列表。每一种资源都有自己使用的图标。 1.4.4FileView FileView可将项目中的所有文件分类显示,如图。 每一类文件在FileView页面中都有自己的目录项(节点)。可以在目录项中移动文件,还可以创建新的目录项以及将一些特殊类型的文件放在该目录项中。 创建一个新目录项,可在添加目录项的地方右击,选择“New Folder”,如图,输入目录项名称和相关的文件扩展名,单击[OK]。 图1.22 “New Folder”对话框
20
1.5资源 1.5.1资源与资源标识 资源的分类 (1)快捷键列表 (2)工具栏按钮 (3)鼠标指针 (4)对话框 (5)HTML
(6)图标 (7)菜单 (8)字符串列表 (9)版本信息 标识符 标识符的命名规则: (1) 在标识符名称中允许使用字母a~z、A~Z、0~9以及下划线。 (2) 标识符名称不区分大小写字母。 (3) 不能以数字开头,如8BIT是不合法的标识符名。 (4) 字符个数不得超过247个。
21
图1.23 “Insert Resource”对话框
1.5资源 1.5.2资源基本操作 创建资源 (1)从“Insert”菜单选取“Resource”;或用快捷键Ctrl+R打开对话框,如图。[New]用来创建一个由Resource Type列表中指定类型的新资源,[Custom]按钮用来创建Resource Type列表中没有的新类型的资源,[Import]按钮用于将外部已有的位图、图标、光标或其他定制的资源添加到当前应用程序中。 (2) 从Resource Type列表中选择一种资源类型,而后按[New]按钮。 (3) 在项目工作区窗口的ResourceView页面中,看到了刚才选中的资源的缺省标识符,而且相应的资源编辑器自动打开。 图1.23 “Insert Resource”对话框
22
1.5资源 打开资源 如果需要对已有资源进行查看或修改,可以首先切换到项目工作区窗口的ResourceView标签页,然后选中要打开的资源,双击鼠标左键或者按Enter键,这时相应的资源编辑器也会相应自动打开。 删除、复制资源 如果删除一个已有的资源,可以首先切换到项目工作区窗口的ResourceView标签页,然后选中要打开的资源,按Del键或者利用Edit菜单下的Delete菜单项可实现删除。复制资源的过程与删除类似,选中要打开的资源,按住Ctrl键不放,并拖动鼠标左键或利用Edit菜单中的Copy和Paste菜单命令进行操作,它同其他软件的复制过程相同。 保存资源 当设计或修改好一个资源后,用File菜单的Save菜单命令或利用快捷键Ctrl+S将其保存在当前资源文件中。
23
图1.24 “Resource Includes”对话框
1.5资源 1.5.3资源文件的管理 资源文件一经创建,其中所包含的资源也就随之而定,与资源相对应的标识符也被保存在Resource.h头文件中。 一般,在一个资源文件.RC中所保存的所有资源已经满足的需要了,尽管如此,VC仍然允许用多个文件来存放资源。用View菜单中的Resource Includes菜单命令打开“Resource Includes”对话框(如图1.24所示)时,可以看到Compile-time directives编辑框中已经含有#include "res\Ex_Sdi.rc2"。 1.5.4资源编辑器 所有Windows资源都可以用VC提供的资源编辑器来编辑。 图1.24 “Resource Includes”对话框
24
图1.25 在“New”对话框中建立Ex_Hello控制台应用程序
1.6一个控制台应用程序 1.6.1用AppWizard创建 用AppWizard创建一个控制台应用程序可按下列步骤进行: (1) 选择“File”“New”菜单命令,显示出“New”对话框。 (2) 选择Projects标签,选中Win32 Console Application项。 (3) 在Project Name框中键入控制台应用程序项目名称。第一次使用时最好确定该项目所在的文件夹以便于源文件的管理,既可在Location下的编辑框中直接键入文件夹名称,也可单击Browse按钮择一个已有的文件夹,如图。 图1.25 在“New”对话框中建立Ex_Hello控制台应用程序
25
1.6一个控制台应用程序 (4) 单击[OK]。如图。选中A simple application项。
(5) 单击[Finish],如图,单击[OK]按钮系统将自动创建此应用程序。 图1.26 选择控制台应用程序类型 图1.27 Ex_Hello信息对话框
26
1.6一个控制台应用程序 1.6.2理解程序框架 在项目工作区窗口中只能看到ClassView和FileView标签,如图。切换到FileView页面,可以看到AppWizard为生成了Ex_Hello.cpp、Stdafx.cpp、Stdafx.h以及ReadMe.txt四个文件。 Stdafx.cpp是一个只有一条语句的空文件,Stdafx.h是VC为每个项目配置的用来预编译的文件;ReadMe.txt是VC为每个项目配置的说明文件,包括对AppWizard产生文件类型的说明以及操作的一些技巧;Ex_Hello.cpp是AppWizard产生的“真正”具有实际意义的程序源代码文件,几乎所有的代码都是添加在这个文件中的。 图1.28 Ex_Hello项目工作区内容
27
1.6一个控制台应用程序 1.6.3添加程序代码 (1) 单击项目工作区窗口的ClassView标签项,将显示Ex_Hello类信息。
(2) 单击各目录项前面的“+”号,将所有目录项展开。 (3) 双击main函数名,在文档窗口中显示出main函数体所在的源文件Ex_Hello.cpp,且文本光标已移至此函数名的前面。 (4) 键入下列代码: ... #include <iostream.h> // 输入输出操作的头文件 int main(int argc, char* argv[]) { cout<<"Hello world!\n"; return 0; } (5) 用Save All命令项或标准工具栏的Save All按钮将所有文件保存。
28
1.6一个控制台应用程序 1.6.4编译运行 打开Build菜单,选用Build Ex_Hello.exe菜单项或按快捷键F7,系统对Ex_Hello进行编译、连接,同时在输出窗口中在线地显示出编译的内容,当出现Ex_Hello.exe - 0 error(s), 0 warning(s)字样时,表示Ex_Hello.exe可执行文件已经正确无误地生成了。 在Build菜单中选取Execute Ex_Hello.exe命令或按快捷键Ctrl+F5,就可以运行刚刚生成的Ex_Hello.exe,如图。 在Ex_Hello窗口中,“Press any key to continue”是系统自动加上去的 。 图1.29 Ex_Hello运行结果
29
作业 1.P357: 3,4 2.P379~384实验1
30
1.7程序调试 1.7.1修正语法错误 调试最初的任务主要是修正一些语法错误,这些错误包括:
(1) 未定义或不合法的标识符,如函数名、变量名和类名等。 (2) 数据类型或参数类型及个数不匹配。 上述错误在编译后,会在Output窗口中列出所有错误项。若将光标移到Output窗口中的错误编号上,按F1键可启动MSDN并显示出错误的内容,从而帮助用户理解错误产生的原因。 为了能使快速定位到错误产生的源代码位置,提供下列一些方法: (1) 在Output窗口中双击某个错误,或将光标移到该错误处按Enter键,则该错误被亮显,状态栏上显示出错误内容,并定位到相应的代码行中,且该代码行最前面有个蓝色箭头标志。 (2) 按F4键可显示下一错误,并定位到相应的源代码行。 (3) 在Output窗口中的某个错误项上,右击鼠标,在弹出的快捷菜单中选择“Go To Error/Tag”命令。 语法错误被修正后,编译时会出现类似“Ex_Hello.exe - 0 error(s), 0 warning(s)”的字样。并不是说,此项目完全没有错误,可能还有“异常”、“断言”等其他错误,而这些错误在编译时是不会显示出来的,只有当程序运行后才会出现。
31
1.7程序调试 1.7.2设置断点 调试的断点可以有下列类型:(1) 位置断点 、(2) 数据断点、(3)条件断点。 快捷方式
调试的断点可以有下列类型:(1) 位置断点 、(2) 数据断点、(3)条件断点。 快捷方式 三种快捷方式可以设置位置断点: (1) 按快捷键F9。 (2) 在Build工具栏上单击 按钮。 (3) 在需要设置断点的位置右击,选择“Insert/Remove Breakpoint”命令。 图1.30 设置的断点 断点标志 程序中断的位置
32
1.7程序调试 使用Breakpoints对话框
(1) 凡是可以使用的断点前均有选中标记(√)。若单击前面的复选框,则该断点被禁止。按钮[Remove]和[Remove All]清除当前选中的断点或全部断点。 (2) 在Location页面中,“Break At”文本框中可以输入断点的名称。单击[Edit Code]可以查看断点位置处的源代码或目标代码。单击[Condition] ,可以输入程序运行中断所需要的表达式条件,从而设置一个条件断点。 (3) 在Data页面中,提供了一种设置数据断点的方法,如图。在Data页面的最上面编译框中,可以键入任何有效的C/C++表达式,它可以是赋值语句,可以是条件语句,可以是单独的一个变量名。在程序运行过程中,若变量的值有所改变,或者条件表达式变成真时,则程序在该断点处中断。 图1.31 “Breakpoints”对话框 图1.32 Data页面
33
图1.33 “Project Settings”对话框
1.7程序调试 1.7.3启用调试器 选择“Project”菜单“Settings”命令,如图。在调试程序时必须使用Debug版本。通过选择“Debug info”组合框来设置调试选项。含义如表。还可以在“Project Settings”对话框中的“Link”页面中,选中“Generate mapfile”项,使其在编连时产生相应的映射文件。 选择“Build”菜单“Start Debug”子菜单的“Go”、“Step Into”或“Run To Cursor”命令,就可以启动调试器了。 图1.33 “Project Settings”对话框
34
1.7程序调试 1.7.4控制程序运行 当程序开始运行在Debug状态下时,程序会由于断点而停顿下来。这时可以看到有一个小箭头,它指向即将执行的代码。而且,原来的“Build”菜单就会变成“Debug”菜单,如图1.34所示。其中有四条命令Step Into、Step Over、Step Out和Run to Cursor是用来控制程序运行的,其含义是: n Step Over的功能是运行当前箭头指向的代码(只运行一条代码)。 n Step Into的功能是如果当前箭头所指的代码是一个函数的调用,则用Step Into 进入该函数进行单步执行。 n Step Out的功能是如果当前箭头所指向的代码是在某一函数内,用它使程序运行至函数返回处。 n Run to Cursor的功能是使程序运行至光标所指的代码处。
35
1.7程序调试 1.7.5查看和修改变量的值 调试器还提供一系列的窗口,用来显示各种不同的调试信息。可借助“View”菜单下的“Debug Windows”子菜单可以访问它们。当启动调试器后,VC的开发环境会自动显示出Watch和Variables两个调试窗口,且Output窗口自动切换到Debug页面,如图。 图1.34 Debug菜单 Watch窗口 Output窗口 Variables窗口
36
1.7程序调试 QuickWatch窗口的使用 用来帮助用户快速查看或修改某个变量或表达式的值。若仅需要快速查看变量或表达式的值,则只需要将鼠标指针直接放在该变量或表达式上,片刻后,系统会自动弹出一个小窗口显示出该变量或表达式的值。 启动调试器后,选择“Debug”“QuickWatch”或按快捷键Shift+F9,如图。 Expression框可以让用户键入变量名或表达式,而后按Enter键或单击[Recalculate],就可以在Current value列表中显示出相应的值。若想要修改其值的大小,则可按Tab键或在列表项的“Value”域中双击该值,再输入新值按Enter键就可以了。 单击[Add Watch]按钮可将刚才输入的变量名或表达式及其值显示在“Watch”窗口中。 图1.36 “QuickWatch”窗口
37
1.7程序调试 Watch窗口的使用 选择“View”“Debug Windows”“Watch”,四个页面:Watch1、Watch2、Watch3和Watch4 ,在每一个页面中有要查看的变量或表达式,可以将一组变量或表达式的值显示在同一个页面中。使用Watch窗口进行操作时,要注意到下面一些技巧: (1) 添加新的变量或表达式 选定窗口中某个页面,在末尾的空框处,单击左边的“Name”域,输入变量或表达式,按Enter键。同时,又在末尾处出现新的空框,如图。 在变量或表达式中右击,选择“Properties”查看其类型。 (2) 修改变量或表达式的值 选中相应的变量或表达式,按Tab键或在列表项的“Value”域中双击该值,再输入新值按Enter键就可以了。 (3) 删除变量或表达式 单击Del键可将当前选定的变量或表达式删除。 图1.37 添加新的变量或表达式 空框
38
1.7程序调试 Variables窗口的使用 Variables窗口能快速访问程序当前的环境中所使用的重要变量。选择“View”“Debug Windows”“Variables”,其中有三个页面: Auto页面 显示出当前语句和上一条语句使用的变量,还显示使用Step Over或Step Out命令后函数的返回值。 Locals页面 显示出当前函数使用的局部变量。 This页面 显示出由This所指向的对象。 Variables窗口还有一个“Context”框,从下拉列表中可以选定当前Call Stack的指令,以确定在页面中显示变量的范围,如图。 图1.38 “Context”框
Similar presentations