VC编程环境介绍

上传人:zou****hua 文档编号:199107055 上传时间:2023-04-10 格式:DOCX 页数:43 大小:1.64MB
收藏 版权申诉 举报 下载
VC编程环境介绍_第1页
第1页 / 共43页
VC编程环境介绍_第2页
第2页 / 共43页
VC编程环境介绍_第3页
第3页 / 共43页
资源描述:

《VC编程环境介绍》由会员分享,可在线阅读,更多相关《VC编程环境介绍(43页珍藏版)》请在装配图网上搜索。

1、1.2 Visual C+ 6.0 的使用1.2.1 Visual C+介绍Visual C+是 Microsoft 公司的 Visual Studio 开发工 具箱中的一个C+程序开发包。Visual Studio提供了一整 套开发 Internet 和 Windows 应用程序的工具,包括 Visual C+, Visual Basic,Visual FoxPro,Visual InterDev, Visual J+以及其他辅助工具,如代码管理工具 Visual SourceSafe和联机帮助系统MSDN。Visual C+包中除包括 C+编译器外,还包括所有的库、例子和为创建Window

2、s应 用程序所需要的文档。从最早期的10版本发展6.0版本,到最新的.NET版本, Visual C+已经有了很大的变化,在界面、功能、库支持方 面都有许多的增强。 6.0 版本在编译器、 MFC 类库、编辑器 以及联机帮助系统等方面都比以前的版本做了较大改进。Visual C+ 一般分为三个版本:学习版、专业版和企业 版,不同的版本适合于不同类型的应用开发。实验中可以使 用这三个版本的任意一种。1.2.2 Visual C+的安装和启动如果你的计算机未安装Visual C+6.0 (有条件有时间一定要自己安装练习!),则应先安装Visual C+6.0。VisualC+是 Visual St

3、udio 的一部分,因此需要 Visual Studio 的 光盘,执行其中的set up exe,并按屏幕上的提示安装即可。 安转完毕后,在Windows的“开始”菜单的程序子菜单中 会出现“Microsoft visual Studio”子菜单,如图IT 所 示0 目归 目 iew InsertMcssageBox三番凸或! 1LguiH IqgIs出卩电V| Win32 Oebuff图 1-1 Microsoft visual Studio 启动子菜单在需要使用Visual C+时,只需从桌面上顺序选择“开 始”程序 “Microsoft visual Studio” Visual C+

4、60 命 令即可,此时屏幕上在短暂显示 VisualC+60 的版权页面 后,出现Visual C+6.0的由窗口、工具条、菜单、工具及 其他部分组成的一个主界面。通过这个界面,用户可以创建、 测试、调试应用程序。如图上U/.IJWorlraptce 3 :-flies:工作IK窗口fl囲sMVJFilcVi匕wcDiitc;iF (a*bc)&徒(c#ah)3弗臺團為内定丈变醫” |AII glnhnt member! + .m.Endoubtle s.d芮; sa:pisec iitset!gFlag(ins i: FiKPd)EetprBelgian(J); cDut,area-,are

5、apndl;1.2.3常用功能键及其意义(写在你抬眼就能看到地方, 尽快记住并熟练使用他们!今天跳过)为了使程序员能够方便快捷地完成程序开发,开发环境 提供了大量快捷方式来简化一些常用操作的步骤。键盘操作直接、简单,而且非常方便,因而程序员非常喜欢采用键盘 命令来控制操作。下面是一些最常用的功能键,希望在实验 中逐步掌握。操作类型功能键对应菜单含义文件操作Ctrl+NFileNew创建新的文件、项目等Ctrl+OFileOpen打开项目、文件等Ctrl+SFileSave保存当前文件编辑操作Ctrl+XEdi tCut剪切Ctrl+CEdit|Copy复制Ctrl+VEdi tPas te粘贴

6、Ctrl+ZEdi tUndo撤消上一个操作Ctrl+YEdi tRedo重复上一个操作Ctrl+AEdi tSelect All全选DelEdi tDel删除光标后面的一个字符建立程序Ctrl+FBuilc1 Compiler编译当前源文件操作7current fileCtrl+F5Build|Run exe运行当前项目F7Build|Build exe建立可执行程序F5BuildDebugsStart?ing启动调试程序调试F5DebugGo继续运行F11DebugStep into进入函数体内部shift+F11DebugStep out从函数体内部运行出来F10DebugStep ov

7、er执行一行语句F9设置/清除断点Ctrl+F10Debug|Runtocursor运行到光标所在位置shift+F9Debug|QuickWatch快速查看变量或表达式的值Shif t+ F5Debug debugsStop?ing停止调试注:这些快捷键命令都有对应的菜单和工具条按钮,如图1.3:图 1-3 快捷键命令菜单与按钮1.2.4输入和编辑源程序先介绍最简单的情况,即程序只由一个源程序文件组成,即单文件程序(有关对多文件程序的操作在本章的稍后 介绍或者下次再看)。1、新建一个C+源程序的方法如果要新建一个C+源程序,可采取以下的步骤:在Visual C+主窗口的主菜单栏中选择File

8、 (文件)命令, 然后选择New (新建)命令,如图1-4。1-5创建一个C+源文件这时,展幕上出现一个New (新建)对话框,单击此对话框的上方的Files (文件)属性页,在列表中选择“ C+Source File”项,表示要建立新的C+源程序文件,然后在 对话框右半部分的Location (目录)文本框中输入准备编辑 的 源 程 序 文 件 的 存 储 路 径 ( 假 设 为 D: 国 土 系 0501-20060405-张三实验一),表示准备编辑的源程序文件 将存存放在“ D: 国土系 0501-20060405-张三实验一”子 目录下。在其上方的File (文件)文本框中输入准备编辑

9、的 源程序文件的名字(输入MyFirstCpppp),如图1-5。这样, 即将进行输入和编辑的源程序就以MyFirstCppcp (定要 注意文件名是指文件长名MyFirstCpp和短名即扩展名cpp 为文件名存放在D盘的“国土系0501-20060405-张三实验 一”目录下,如图 1-6。当然,读者完全可以指定其他路径 名和文件名。后退八们 搜索 文件夹地址|D D: I计算机D501-加0E0405-张三I实验一图1-6 C+文件建立成功在单击OK按钮后,回到Visual C+主窗口,由于在前 面已指定了路径(D:国土系0501-20060405-张三实验一) 和文件名(MyFirstC

10、pp.cpp),因此在窗口的标题栏中显示 出MyFirstCpp.cpp。可以看到光标在程序编辑窗口闪烁,表 示程序编辑窗口已激活,可以输入和编辑源程序了。这里输 入如图 1-7窗口中所示的程序。检查无误后,则将源程序保 存在前面指定的文件中,方法是:在主菜单栏中选择 File (文件)命令,并在其下拉菜单中选择Save (保存)命令。也可以用快捷键 Ctrl+S 来保存文件。如果不想将源程序存 放到原先指定的文件中,可以不选择 Save 命令,而选择 SaveAs (另存为)命令,并在弹出的Save As (另存为)对话框 中指定文件路径和文件名。图 1-7 C+ 程序输入2、打开一个已有的

11、程序如果你已经编辑并保存过C+源程序,而希望打开你所 需要的源程序文件,并对它进行修改,方法是:(1)在“资源管理器”或“我的电脑”中按路径打到 已有的C+程序名(如C1-1 cpp)。(2)双击此文件名,则进入Visual C+集成环境,并 打开了该文件,程序已显示在编辑窗口中。也可以用 Ctrl+O 或单击工具栏中的小图标 来打开文件。( 3 )如果修改后仍想保存在原来的文件中,可以选择 File (文件)一Save (保存)命令,或用快捷键Ctrl+S,或 单击工具栏中的小图标 来保存文件。3、通过已有的程序建立一个新程序的方法如果你已编辑并保存过C+源程序(而不是第一次在该 计算机上使

12、用Visual C+)的话,则可以通过一个已有的程 序来建立一个新程序,这样做比重新输入一个新文件省事, 因为可以利用原有程序的部分内容。方法是:(1)打开任何一个已有的源文件,(例 cl-1.cpp)(2)利用该文件的基础修改成新的文件然后通过选择File (文件)f Save as (另存为)命令将它以另一文件名 另存(如以 test.cpp 名字另存),这样就生成了一个新文件 test.cpp。用这种方法很方便,但应注意:(1)保存新文件时,不要错用FilefSave (保存)操 作,否则原有文件(cl-1 cpp )的内容就被修改了。(2)在编译新文件前,应先选择File (文件)一C

13、lose Workspace (关闭工作区)命令将原有的工作区关闭,以免 新文件在原有的工作区进行编译。1.2.5编译、连接和运行1、程序的编译(现在你已经知道编译的作用吗?)在编辑和保存了源文件以后,需要对该源文件进行编 译。单击主菜单栏中的Build (编译),在其下拉菜单中选择 Compile MyFirstCpp.cpp (编译 MyFirstCpp.cpp)命令。由 于 建 立 ( 或 保 存 ) 文 件 时 已 指 定 了 源 文 件 的 名 字 MyFirs tCpp.cpp,因此在Build菜单的Compile命令中显示了现在要编译的源文件名MyFirstCpp.cpp。见图1

14、-8:图1-8编译C+程序在选择“编译”命令后,屏幕上出现一个对话框,内容是 “ This build command repuires an active projectworkspace.Would you like to creat a default project workspace?”(此编译命令要求一个有效的项目工作区。你 是否同意建立一个默认的项目工作区没有中文你能看懂吗?是否被吓着了?),见图1-9。单击Yes (是)按钮,表 示同意由系统建立默认的项目工作区,然后开始编译。也可 以不用选择菜单的方法,而用 Ctrl+F7 或小图标 来完成编 译。图 1-9 建立默认工作区提

15、示在进行编译时,编译系统检查源程序中有无语法错误,然 后在主窗口下部的调试信息窗口输出编译的信息,如果有 错,就会指出错误的位置和性质,见图1-10。(永远记住: 编程就是犯错,改错直到成功!如果一开始就正确无误,可 能就没有编程了。所以我批评你就当是我在犯错!)图 1-10 编译错误信息提示2、程序的调试(结合教材中课文和简单练习做实验)程序调试的任务是发现和改正程序中的错误,使程序能正常运行。编译系统能检查出程序中的语法错误。语法错误分两类:一类是致命错误,以 error 表示,如果程序中有这 类错误,就通不过编译,无法形成目标程序,更谈不上运行 了。另一类是轻微错误,以warning (

16、警告)表示,这类错 误不影响生成目标程序和可执行程序,但有可能影响运行的 结果。因此也应当尽量改正,使程序既无error,又无warning。在图 1-10 中的调试信息窗口中可以看到编译的信息, 指出源程序有一个error和一个warning。第7行有致命错 误,错误的种类是:在“”之前漏了“;”。检查图1-10 中 的程序,果然发现在第 6 行末漏了分号。同学们可能要问: 明明是第 6 行有错,怎么在报错时说成是第 7 行的错呢?这 是因为C+允许将一个语句分写成几行,因此检查完第6行 末尾无分号时还不能判定该语句有错,必须再检查下一行, 直到发现第 7 行的“”前都没有“;”,才能判定出

17、错。因 此在第 7 行报错。在根据编译报错信息检查程序时,应检查 其上下行。此外编译信息指出第7行还有一个warning,指 出main函数需要有一个返回值,程序中缺少一个“return 0;”语句。进行改错时,双击调试信息窗口中的某个报错信息的第 1 行,光标就自动移到程序窗口中被报错的程序行,并用粗 箭头指向该行。见图 1-11。图 1-11 发现错误位置在第 6 行末加上分号。再增加新的一行 return 0; 如图1-12:再选择 Compile MyFirstCpp.cpp 命令重新编译,此时 编译信息提示:“0 error(s), 0 warning(s)”,即没有致使 错误(er

18、ror )和警告性错误(warning ),编译成功,这时 产生一个MyFirstCpp.obj文件。见图1T3中的下部调试信 息窗口。图 1-13 语法编译通过3、程序的连接(现在你已经知道连接/链接的作用吗?)在得到目标程序后,就可以对程序进行连接了。此时应选择 Build (构建)Build MyFirstCpp.exe (构建 MyFirs tCpp .exe )命令,见图1T4。表示要求连接并建立一 个可执行文件 MyFirstCpp.exe。图 1-14 连接建立可执行文件在执行连接后,在调试输出窗口显示连接时的信息,说明没有发现错误,生成了一个可执行文件 MyFirstCpp.e

19、xe。见图 1-15。图 1-15 可执行文件建立成功以上介绍的是分别进行程序的编译与连接,也可以选择 Buildf命令(或按F7键)一次完成编译与连接。对于初学 者来说,还是建议分步进行程序的编译与连接,有利于对程 序编译、解释、连接过程的理解。今后积累一定经验后,可 以一步完成编译与连接。4、程序的执行(祝贺你到这里!)在得到可执行文件MyFirstCpp.exe后,就可以直接执 行 MyFirs tCpp.exe 了。选择 Build !Exec ute test .exe (执 行 MyFirs tCpp.exe )命令。见图 1T6。图 1-16 运行程序可执行文件在选择“! Exe

20、cute test.exe ”命令后,即开始执行 MyFirs tCpp.exe。也可以不通过选择菜单命令,而且Ct rl+F5 来实现程序的执行。程序执行后,屏幕切换到输出结果的窗 口,显示出运行结果,见图 1-17。图 1-17 程序运行结果可以看到,在输出结果的窗口中的第 1 行是程序的输出 结果:This is a C+ program.第2行“Press any key to continue”并非程序所指 定的输出,而是Visual C+在输出完运行结果后由Visual V+6.0 系统自动加上的一行信息,通知用户“按任何一键以 便继续”。当你按下任何一键后,输出窗口消失,回到 V

21、isual C+的主窗口,你可以继续对源程序进行修改补充或进行其 他工作。如果已完成对一个程序的操作,不再对它进行其他处 理,应当选择File (文件)一Close Workspace (关闭窗口) 命令,以结束对该程序的操作。1.2.6 建立和运行包含多个文件的程序的方法上面介绍的是最简单的情况,一个程序只包含一个源程 序文件。如果一个程序包含多个源程序文件,则需要建立一 个项目文件(project file ),在这个项目文件中包含多个 文件(包括源文件和头文件)。项目文件是放在项目工作区 (Workspace )中并在项目工作区的管理之下工作的,因此 需要建立项目工作区,一个项目工作区可

22、以包含一个以上的 项目。在编译时,先分别对每个文件进行编译,然后将项目 文件中的文件连接成为一个整体,再与系统的有关资源连 接,生成一个可执行文件,最后执行这个文件。在实际操作时有两种方法:一种是由用户建立项目工作 区和项目文件;另一种是用户只建立项目文件而不建立项目 工作区,由系统自动建立项目工作区。1、由用户建立项目工作区和项目文件( 1)、先用前面介绍过的方法分别编辑好同一程序中的 各个源程序文件,并存放在自己指定的目录下,例如有一个 程序包括filelcpp和file2.cpp (这样文件名称很不好, 你知道为什么吗?)两个源文件,并已把它们保存在“ D: 国土系 0501-20060

23、405-张三实验一”子目录下。( 2)、建立一个项目工作区。在如图 1-4 所示的 Visual C+主窗口中选择File (文件)一New (新建)命令,在弹出 的New (新建)对话框中选择上部的选择属性页Workspace name (工作区名字),表示要建立一个新的项目工作区。在 对话框中右部Workspace name (工作区名字)文本框中输入 你指定的工作区的名字(如 wsl ),见图1-18 。图 1-18 建立工作区然后单击右下部的OK按钮。此时返回Visual C+主窗口,见图 1-19。图 1-19 一个空的工作区可以看到在左部的工作区窗口中显示了“ Workspace

24、wsl:0 project(s) ”,表示当前的工作区名是wsl,其中有0 个project (没有在其中放入项目文件)。(3)、建立项目文件。选择File (文件)一New (新建)命令,在弹出的New (新建)对话框中选择上部的选择属性 页Projects (项目,中文Visual C+把它译为“工程”), 表示要建立一个项目文件。见图 1-20。图 1-20 建立一个新的项目在 对 话 框 中 左 部 的 列 表 中 选 择 “ Win32 ConsoleApplication”项,并在右部的location (位置)文本框中 输入项目文件的位置(即文件路径),在Project name

25、 (中 文界面中显示为“工程”)文本框中输入你指定的项目文件 名,假设输入projectl。在窗口右部选中Add to current wo rksp a c e (添加至现有工作区)单选钮,表示新建的项目 文件是放到刚才建立的当前工作区中的。然后单击OK(确定) 按钮。此时弹出一个如图 1-21 所示的对话框,在其中选中 An empty project 单选钮,表示新建立的是一个空的项目。图 1-21 项目类型选择单击Finish (完成)按钮。系统弹出一个New ProjectInformat i on (新建工程信息)对话框(图1-22 ),显示了刚 才建立的项目的有关信息。图 1-2

26、2 新建项目的信息在其下方可以看到项目文件的位置(文件路径)。确认 后单击OK (确定)按钮。此时又回到Visual C+主窗口, 可 以 看 到 : 左 部 窗 口 中 显 示 了 “ Workspace wsl :lproject(s) ”其下一行为 “project1 files”,表示 已将项目文件 project1 加到项目工作区 wsl 中,见图 1-23。Win32 Console Application will create a new skeleton project with the following specifications:+ Empty console app

27、lication.+ No files will be created or added to the project.Project Directory _23工作区中加入一个新项目在 VisualD:l计算机 0501-20060105 三、实验一ws1project1中。方法是:Cancel(4 )、将源程序文件放到 CProject (工程)一Add TO Project(添加到项目中,在中文界上显示为“添加工程”)f“Files”命令,见图1-24。在选择“Files”命令后,屏幕上出现Insert Files intoProject 对话框。在上部的列表框中按路径找到源文件 fil

28、e1.cpp 和 file2.cpp 所在的子目录,并选中 file1.cpp 和 file2cpp,见图 1-25。图 1-25 加入文件选择单击OK (确定)按钮,就把这两个文件添加到项目文件 project1 中了。(5)、编译和连接项目文件。由于已经把 file1cpp 和 file2cpp 两个文件添加到项目文件 project1 中,因此只须 对项目文件 project1 进行统一的编译和连接。方法是:在 Visual C+ 主窗口 中选择 Build (编译)f Build project1 .exe (构建 project1 .exe) 命令。在选择 Build project

29、1exe 命令后,系统对整个项目 文件进行编译和连接,在窗口的下部会显示编译和连接的信 息。如果程序有错,会显示出错信息,如果无错,会生成可 执行文件project1.exe。见图1-26。执行可执行文件。选择Build貿编译)吧REXcuteReadyi嚼HL li crosoft Visual C+projectl.exe (执行 projectl.exe) 命令,即可。2、用户只建立项目文件上面介绍的方法是先建立项目工作区,再建立项目文 件,步骤比较多。可以采取简化的方法,即用户只建立项目 文件,而不建立项目工作区,由系统自动建立项目工作区。在本方法中,保留上一节中介绍的第( l)、(4

30、)、(5)、 ( 6 )步,取消第( 2)步,修改第( 3)步。具体步聚如下(1)分别编辑好同一程序中的各个源程序文件。同上 一节中的第(1)步。(2)建立一个项目文件(不必先建立项目工作区)。在Visual C+主窗口中选择File (文件)一New (新建)命令,在弹出的New (新建)对话框中选择上部的选项卡projects (项目),表示要建立一个项目文件。见图1-27。在 对 话 框 中 左 部 的 列 表 中 选 择 “ Win32 Console Application” 项,在 project name (中文 Visual C+ 中显 示为“工程”) 文 本框中 输入你指定的

31、项 目 文 件名( pr o j e c t 1 )。可以看到:在右部的中间的单选钮处默认选 定了 Create new workspace (创建新工作区),这是由于用 户未指定工作区,系统会自动开辟新工作区。Files Projects| Workspaces | Other Documents.ATLCOM AppWizard Cluster Resource Type Wizard 豹 Custom AppWizard Database Project DevStudio Add-in Wizard 厳ISAPI Extension Wizard Makefile 錠 MFC Acti

32、veX Controlwizard 囱 MFC AppWizard (dll) 58 MFC AppWizard (exe) iff Utility ProjectT Win32 Application谢 Win32 Dynamic-Link Library 飼 Win32 Static LibraryProject name:Project!Location:|D:计算机0501-20060405马总三t J怦 Create new workspaceC Add to current workspace 厂 Dependency of:单击OK (确定)按钮,出现“ Win32 C(项目 n

33、sole empty1-27 建立一个新的 Win32 Console: ApplicationWin32CancelOKApplication-step 1 of 1 ”对话框,选中右部的An project单选钮,单击Finish (完成)按钮后,出现“New project information”(新建工程信息)消息框。从它的下 部可以看到项目文件的路径。单击OK (确定)按钮,在弹出 的Visual C+主窗口的左部窗口的下方单击File View按钮, 窗口中显示 “Workspaceproject1、:1 project (s)”,见图 1 -28 。说明系统已自动建立了一个工作

34、区,由于用户未指定 工作区名,系统就将项目文件名 project1 同时作为工作区名。向此项冃文件添加内容。步骤与方法一中的第(必4)步Readyma Tl因啓|CaptureVideoCf倉幽画!討删j (Globals) All global membersJ|No members - Create New Class. T|相同。编译和连接项冃文件。步骤与方法一中的第( 4)步相 同。执行可执行文件。步骤与方法一中的第(6 )步相同。显然,这种方法比前一种方法简单一些。在介绍单文件 程序时,为了尽量简化手续,这里没有建立工作区,也没有 建立项冃文件,而是直接建立源文件,实际上,在编译每一

35、 个程序时都需要一个工作区,如果用户未指定,系统会自动 建立工作区,并赋予它一个默认名(此时以文件名作为工作 区名序号12345678910件吗?)文件名*.dsw*.dsp*.ncb*.opt*.h*.cpp*.exe*.plg*.pch*.pdb描述VC 工作区文件(Developer Studio Project)项目文件,文本格 式。不熟悉的话不要手工修改 无编译浏览文件。当自动完成功能出问题时,可 以删除此文件,编译工程后会自动生成。 工程关于开发环境的参数文件,如 VC 工具条位 置信息等。C/C+程序头文件,可用文本编辑器打开C+源程序文件,可用文本编辑器打开程序可执行文件 编译

36、信息文件。编译时的 error 和 warning 信息 文件(实际上是一个 html 文件),一般用处不大。 在ToolsTOptionsTBuild里面的选项可以控 制这个文件的生成。(Pre-Compiled File) 是预编译文件。可以加快 编译速度,但是文件非常大(Program Database) 记录了程序有关的一些数据和调试信息,在调试的时候有用*. 源程序文件的目标文件,编译后生成11obj*. 源程序文件的连接文件,连接后生成12ilk在 VC 下建立一个工程后,会自动产生 14 类型的文件。加入*h、*. cpp文件编译后产生 712 类型的文件。其中812类型的文件位

37、于工 程目录下的 Debug 目录下。1-4 类型的文件都是工程相关的文件,一般 不要删除,因为删除后,必须手动的重新建立工 程(126 详细描述了如何建立一个工程)。对于 注大型项目来说,删除这些文件的后果很严重。56 类型的文件还有什么可说的,不仅不能 删除这些文件,还要备份这些文件。失去这些文 件是灾难性的。712 类型的所有文件都是可以删除的,因 为再次编译连接运行程序时,会再次自动生成这 些文件。1.4 Visual C+ 6.0错误信息(VC6默认是几级错误?)1.4.1 程序错误的类型1、严重错误(fatal error)很少出现,通常是内部编译器出错。造成编译立即停止。2、语法

38、错误(error)语法错误是指源程序中存在不符合C/C+语言语法规定 的语句,例如将int写成Int,括号不匹配等。这些错误不 改正是不能通过编译的。如图 1-29图 1-29 语法错误3、警告错误(warning)对于一些在语法上有轻微毛病但不影响程序运行的错 误(如定义了变量但始终未使用),编译时会发出警告信息 虽然程序能通过编译、连接、运行,但警告类的错误常常带 来程序非法操作、运行错误等问题。所以,尽量改正警告错 误。如图 1-30Configuration: projectl - Win32 DebugCompilingfile1.cppD:计算机05-2006OS05-弓长三实验一

39、.cpp(6) : warning C4101: iLinking:unreferenced local uariableprojectl.exe - 0 error(s), 1 warning(s)| Build X Debug X Find m Files 1 | | |1T图 1-30 警告错误4、连接错误(Link error )程序语法上没有问题,但是在连接时出现错误。这类问题常常是因为程序依赖函数、库不匹配造成的。如图 1-31图 1-31 连接错误5、逻辑错误逻辑错误是指程序无语法错误,也能正常运行,但结果 不对。这类错误常常是设计算法时的错误,计算机无法检查 出来。逻辑错误是最

40、难改正的错误之一,引起错误的原因往 往可能很不起眼,比如就是一个变量没有初始化等,所以改 正这类错误常常需要投入大量的精力。6、运行错误有时程序既无语法和逻辑错误,但是程序就是不能正常 运行。多数情况下是输入数据和程序要求的数据不匹配造成 的,也可能是系统的支持问题。在 C+ 中,语法、连接错误相对较为容易改正。而逻辑 错误是最隐蔽的错误,比较难以改正。运行错误则主要是在 程序强壮性、兼容性上可能存在问题,可以通过提高程序的 适应能力来修正。而最容易让程序开发人员忽略的就是警告 错误了,因为警告错误不一定会影响程序的运行,但是正是这种不确定性也传递给了程序的执行,你不知道程序什么时 候会出问题

41、,也许永远不会有问题,也许问题马上出现,也 许问题 n 年后出现,谁知道。所以,一定要重视警告错误。表 1-1 是 C+ 错误的前缀描述,在遇到错误时可以根据 其前缀就知道错误等级了。错 误 错 误 错 误 编 号等级 前缀 范围严重C1 001999错误编译C2 001999 错误警告C4001999错误链接示例C2065: The specified identifier was not declared.(标识符,比如一 个变量,未申明)。如图 1-29, coutt 没有申明过。C4101:main :unreferencedlocalvariable (局部变量申明后 从未使用过)。

42、如图 1-30, 其中的 i 变量从未使用过。LNK2001:unresolvedexternal symbol symbol.(连接指 定的 函数或库 异LNK 10006026 错误常)。如图 1-31,程序找不 到 main 函数。1.4.2错误信息的查询(MSDN是你最好朋友!跟她交流 你心得吧!)只有详细地了解了错误的原因,才能正确地改正错误。Microsoft 的 MSDN Library(Microsoft 开发帮助文档库, 如图1-32)提供了查询错误信息的功能。对于遇到的不明白 的错误,同学们应该学习使用 MSDN 帮助文档库进行错误信 息查询,获得错误信息的解释和可能的改正

43、方法。具体方法 如下:(1)选择MSDN Library (如图1-32)的索引属性页, 在“键入要查找的关键字:”中输入错误号(由错误前缀和 编号组成),比如输入C2065,如图1-33所示。图 1-32 MSDN Library2)、在索引列表框中双击选择匹配的错误后,错误类型、可能原因、改正方法等信息则显示在窗口的右边部分。如图 1-33 所示:图 1-33 在 MSDN Library 中查找错误信息1.5 Visual C+ 6.0 调试工具使用在开发程序的过程中,需要不断地调试自己的程序,或 检查错误,或测试程序的稳定性,这就需要借助调试工具来 进行。选择一个好的调试工具并能够熟练

44、地使用它,将会使 程序开发变得更加容易,从而大大提高程序开发的效率。目前有许多调试工具,集成在Visual C+中的调试工具 便具有相当强大的功能。1.5.1 设置工程的调试属性在 Visual C+ 中建立一个工程(Project)时,Visual C+ 都会自动创建一个 Debug 目录,在该目录下存放在开发过程 进行调试时生成的文件以及生成的可执行文件(不同类型文 件的解释见 1.3 节 Visual C+ 6.0 工程相关文件介绍), 不妨将此时生成的可执行文件称为 Debug 版本。在 Debug 版 本当中,包含着 Microsoft 格式的调试信息,而且不进行任 何代码优化。一般

45、情况下,在程序的开发过程中使用 Debug 模式。在应用程序开发完成之后,要将程序发行时,需要编译 形成另一种版本的可执行文件,称为 Release 版本,在 Release 版本中对可执行程序的二进制代码进行了优化,其 中不包含任何的调试信息。要建立Release版本的可执行文 件,可以选择菜单Project中的Setting命令,这时屏幕上 面弹出 Project Settings 对话框,如图 1-34 所示。在 Settings For下拉列表中选择Release,按OK按钮退出。如果要在Visual C+中调试程序,则工程的应设为 Debug版本。一般Visual C+建立一个工程(

46、Project)时, 默认采用 Debug 版本。图 1-34 设置工程的调试属性1.5.2学习设置断点进行单步调试通常,一个应用程序是连续运行的,但是在程序调试的 过程中,往往需要在程序的运行过程的某一阶段来观测应用 程序的状态,所以必须使程序在某一地点停下来。在 Visual C+中,可以通过设置断点来达到这样的目的。在设置好断 点之后,当程序运行到设立断点处时就停止运行,此时就可 以利用各种工具来观察程序的状态,也可以设置各种条件使程序按要求继续运行,这样就可以进一步观测程序的流向。在 Visual C+ 中,可以设置多种类型的断点,这些断点起作用的方式各不相同,可以将它们分为三类,即:

47、位置断 点、逻辑断点以及与 Windows 消息有关的断点。下面我们只 介绍简单位置断点的设置方法,其它高级断点的设置可以在 今后进一步学习中掌握。1、设置位置断点位置断点,这是一类最简单的断点类型,其设置方法也最 为简单,只要把光标移到要设断点的位置(当然这一行必须 包 含 一 条 有 效 语 句 ); 然 后 按 工 具 条 上 的 add/remove(交通警察来breakpoint按钮或按快捷键F9;如图1-35:帮你了!)设置断点图1-35设置断点按钮这时将会在屏幕上看到在这一行的左边出现一个红色 的圆点(红灯、黄灯、没有路灯!),表示在该位置设立了一 个断点,如图1-36所示。如果

48、你想取消断点,将光标移动 到设置断点的代码行,按 F9。图 1-36 设置一个断点2、启动调试按 F5 或者在 Build 菜单中,选择 Start Debug 然后选 择 Go ,就可以启动调试程序。程序会一直运行到需要用户输 入或者有断点的代码处。如图1-37处的小黄箭头,表明程 序运行到该处停止下来,等待下一步调试命令。图 1-37 启动调试3、查看变量值 查看变量值有多种方式,你可以选择你喜欢的方式进 行。(1) 你可以将鼠标移动到程序的变量名处,系统会自动 为你显示变量的值;(2) 复杂变量(如对象)可以通过QuickWatch查看,方 法是:将光标定位到所要查看值的变量处,按鼠标右

49、键,选 择 QuickWatch 菜单,就可以看到变量值。(3) 启动调试程序后,屏幕下方将会出现两个输出窗口, 一个是Wat ch,另一个是Variable。Watch窗口显示变量名 和变量值,你可以在 Watch 窗口中加上你想观察值的变量名, 也可以直接从源代码中选择变量名,并把它拖动到Wat ch窗口中。Variable窗口显示程序当前运行上下文涉及的变量的值。 如图 1-38 :4、控制程序执行你可以控制程序单步执行(F10)、跟踪到一个函数内部 (F11)、从一个函数运行出来(shift+Fll)、运行到光标所 在位置( Ctr l +F 1 0 ),以便方便地调试程序。这些命令用于 在某个局部范围详细地调试程序。你也可以通过设置断点(F9)然后用直接运行(GO或者F5)来控制程序直接运行 到断点位置。如果你设置了多个断点,程序将会在遇到的第 一个断点处停下来。要从断点处继续运行,可以用上面所说 的各种命令(F5,F10, Fll, Shif t+Fll, Ct rl+F10)。图 1-39 调试控制工具条5、结束调试要结束调试,可以按shift+F5或者选择菜单Debug|Stop Debugging。当结束调试后,所有调试窗口会自动关闭,Debug 菜单也会自动还原为 Build 菜单。需要很长时间掌握这些基本操作,慢慢来而不是不来!

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!