




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1讲VisualC++6.0开发环境2025/3/181内容提要VisualC++及其开发环境VisualC++的菜单栏资源及资源编辑器项目与项目工作区联机帮助编译、调试程序2025/3/182VisualC++是一个基于Windows操作系统的可视化集成开发环境IDE(IntegratedDevelopmentEnvironment)。VisualC++由许多组件组成,包括编辑器、编译器、调试器以及程序向导AppWizard、类向导ClassWizard等开发工具。这些组件通过一个名为DeveloperStudio的组件集成为一个和谐的开发环境。1.1VisualC++概述2025/3/183源程序用C++语言编写,支持面向对象设计方法,使用功能强大的微软基础类库MFC(MicrosoftFoundationClass)。开发出来的软件稳定性好、可移植性强。可以编制各种各样Windows应用程序,包括对话框程序、文档/视图程序和组合界面程序。作为VisualStudio可视化组件家族中最重要的一个成员,与其它可视化开发工具如VisualJ++、VisualBasic及VisualC#紧密地集成在一起,适用于特殊、复杂和综合软件项目的开发,乃至一个系统软件的设计。联机帮助系统MSDN(MicrosoftDeveloperNetworkLibrary)功能强大。它能与集成开发环境有机地结合在一起,使得用户在编程时随机查询需要的内容信息。1.1.1VisualC++的特点2025/3/1841.1.2VisualC++的安装
要求内存为64MB,所需硬盘空间约为500M,操作系统为Windows98/2000/xp或WindowsNT。运行光盘根目录下的Setup.exe程序后,安装向导程序将自动完成VisualC++的安装,用户只需要根据对话框提示输入具体的内容。(典型安装)如输入产品序列号,选择安装选项、安装路径和需要安装的组件等。安装完毕后,在操作系统重新启动后,安装程序会自动启动MSDN的安装提示。如果要安装MSDN,插入VisualStudio6.0的MSDN光盘继续进行安装。用户最好随系统一起安装MSDN。(完全安装)2025/3/1851.1.3集成开发环境窗口例1-1利用VisualC++6.0创建一个Windows应用程序Mysdi。1.执行File|New菜单命令,出现New对话框。在Project页面窗口中选择MFCAppWizard[exe]选项,在ProjectName编辑框中输入项目名称Mysdi,在location编辑框中输入保存项目的路径。2.在MFCAppWizard-Step1对话框中设置应用程序的类型,本例创建一个单文档程序,选择Singledocument项,单击Finish按钮,出现NewProjectInformation对话框,单击OK按钮,将生成应用程序框架文件,并在项目工作区窗口打开生成的应用程序的项目。2025/3/1862025/3/187开发环境是程序员同VC++的交互界面通过它,可以访问程序源代码访问资源编辑器使用内部调试器创建工程文件1.2VisualC++6.0及其开发环境2025/3/1881.2.1VisualC++6.0 在VisualC++
IDE中,把实现程序设计功能的一组相互关联的C++源文件、资源文件以及支撑这些文件的类的集合称为一个项目。编写一个应用程序首先要创建一个项目(Project),在创建项目的同时创建了项目工作区Workspace。项目工作区记录了一个项目的集成开发环境的设置。
2025/3/189
VisualC++
IDE以项目工作区的方式来组织应用程序的项目,项目工作区用工作区文件DSW(DeveloperStudioWorkspace)来描述,文件名后缀为.dsw。工作区文件保存了应用程序集成开发环境的项目设置信息,它将一个DSP项目文件与具体的DeveloperStudio结合在一起,在VisusalC++
IDE中一般以打开工作区文件DSW的方式来打开指定的项目。项目与项目工作区2025/3/1810以项目工作区的形式来组织文件、项目和项目配置项目与项目工作区在工作区中添加项目:用File->Open选项可打开已存在的项目;通过New对话框的Projects选项卡创建新的项目,并选择Addtocurrentworkspace复选框。2025/3/1811项目工作区窗口
VC项目工作区由ClassView、ResourceView及FileView三个面板组成项目与项目工作区以树形结构显示项目所创建的类、资源和文件。2025/3/1812应用程序开发的大部分工作都在该区进行。编辑区是用户进行输入、编辑的主要区域,在该区可以进行代码的编辑,窗口的布局设计,资源的编辑。编辑区输出区是主要用于输出有关编译(Build)和调试(Debug)的信息以及查找结果。输出区2025/3/1813.cpp是源程序代码C++文件.h是包含函数声明和变量定义的头文件.rc是定义资源的资源脚本文件.dsp是工程文件,记录当前工程的有关信息.dsw是工作区文件,一个工作区可能包含一个或多个工程VC常用文件名介绍2025/3/1814FileEditViewInsert1.2.2VisualC++6.0的菜单栏2025/3/1815ProjectBuildToolsHelpVisualC++6.0的菜单栏2025/3/1816File菜单File主菜单包括一些与文件有关的操作命令,如新建、打开、关闭、保存和显示最近的项目、文件、工作区等。例如,在编程过程中,若要创建新的头文件或实现源文件并添加到项目中,打开File菜单,选择New菜单项,在New对话框的选择File页面,选择C/C++HeaderFile或C++SourceFile项,选择AddtoProject,输入文件名。2025/3/1817VisualC++的菜单栏-------File菜单File->New->Files2025/3/1818VisualC++的菜单栏-------File菜单File->New->Projects2025/3/1819VisualC++的菜单栏-------File菜单2025/3/1820Edit菜单
Edit主菜单主要包括一些与文件编辑有关的操作命令,如复制、粘贴、剪切、查找、替换、设置、删除和查看断点等。例如,Edit的查找功能很丰富,可利用Find菜单命令在当前打开的文件中进行查找,还可利用FindinFiles菜单命令在指定的多个文件中进行查找。2025/3/1821View菜单
View主菜单中的菜单命令项主要用于改变窗口的显示方式和激活指定的窗口,如激活ClassWizard类向导、Workspace工作区窗口、Output输出窗口和DebugWindows调试窗口。
例如,当进入程序调试状态时,通过DebugWindows子菜单可以激活几个不同的调试窗口。2025/3/1822VisualC++的菜单栏------View菜单Workspace选项
如果工作区没有显示或者不是处于当前状态,则选择该项将显示工作区窗口。Output选项
在输出窗口中显示程序建立过程(如编译、链接等)的有关信息或错误信息,并且显示调试运行时的输出结果。2025/3/1823Insert菜单
Insert主菜单主要包括一些与添加有关的操作命令,如添加新类、资源和源代码文件等。例如,编程时经常通过Insert菜单的Resource命令,向项目添加一个指定类型的资源。2025/3/1824Project菜单使用Project可以创建、修改和存储正在编辑的工程文件。工程文件组合了一个应用程序的所有源文件的组成部分。Project主菜单主要包括一些与项目管理有关的操作命令,如添加工程、向工程中添加文件、设置当前工程、调整工程设置等。2025/3/18252.AddToProject选项
选择该选项将打开一个级联子菜单,可以把文件、文件夹、数据链接以及VC组件或控件添加到当前工程中在该子菜单中可以进行如下操作:(1)New:创建新的文件;(2)NewFolder:插入新的文件夹;(3)Files:插入已有文件;(4)DataConnection:添加数据链接;(5)ComponentandControls:选择该项将弹出ComponentandControlsGallery对话框,在此对话框中,可以插入VC组件或者已注册的ActiveX控件。VisualC++的菜单栏---Project菜单1.SetActiveProject选项
设定指定的项目为工作区的活动项目2025/3/1826Build菜单
Build主菜单主要包括一些与建立可执行程序有关的操作命令,如编译、链接和调试程序等。注意,当启动调试器后,Debug主菜单将代替Build主菜单出现在菜单栏中。2025/3/1827VisualC++的菜单栏----Build菜单2.Build选项
对最后修改过的源文件进行编译和链接1.Compile选项
只编译当前文件而不调用链接器或其它工具。输出窗口将显示编译过程检查出的错误或警告信息3.
RebuildAll选项对所有源文件全部重新进行编译和链接,而不管它们何时曾经被修改过5.Clean
选项用于清除编译链接时在项目运行目录中产生的临时文件和输出文件。4.BatchBuild选项
一次编译和连接多个工程。2025/3/1828VisualC++的菜单栏---Build菜单6.
StartDebug选项从当前语句开始执行程序直到遇到断点或遇到程序结束单步执行程序,并在遇到函数调用时进入函数内部再从头单步执行使程序在运行到当前光标所在位置时停止(相当于设置一个临时断点)调试过程中直接进入到正在运行的进程中2025/3/1829Tools菜单
Tools主菜单中的菜单命令项主要用于启动VisualStudio实用工具、定制VisualC++集成开发环境界面,如利用Customize菜单命令显示或关闭工具栏。2025/3/1830Window菜单
Window主菜单主要包括一些与窗口显示有关的操作命令,如新建窗口、排列窗口、切换窗口、分离窗口。2025/3/1831通过选择帮助的【Content】(目录)、【Search】(搜寻)、【Index】(索引)和【TechnicalSupport】(技术支持)等命令启动MSDN帮助库;有关开发环境的网络资源;查看【TipoftheDay】(每日提示)以及【About】(关于)信息等。Help菜单2025/3/1832为了提高操作效率,VisualC++集成开发环境为菜单命令项提供了对应的快捷键,但需要用户熟练记忆才能使用。Windows应用程序一般都提供了工具栏,弥补了快捷键的不足之处。工具栏是由一些形象化的位图按钮组成,工具栏按钮一般都对应于菜单命令项,用于方便、快捷地使用VisualC++集成开发环境的常用功能。1.2.3工具栏2025/3/1833VisualC++IDE的工具栏以停靠窗口的形式出现,其位置可以通过鼠标拖曳的方法来改变,并可以根据需要进行显示或隐藏的切换。一般的方法是执行Tools|Customize菜单命令,选择Toolbars标签页,根据需要进行选择。也可以在菜单栏或工具栏的空白处单击鼠标右键,然后在一个弹出式菜单中选择要显示或隐藏的工具栏。如果要恢复工具栏或菜单栏到系统原来的默认状态,在Customize对话框中单击ResetAll或ResetAllMenus按钮。2025/3/18342025/3/1835
主要包括一些与文件和编辑有关的常用操作命令,每个按钮的功能与File、Edit和View等主菜单中某个菜单项对应。下图给出了Standard工具栏的一般形式。Standard工具栏2025/3/1836
BuildMiniBar工具栏中主要包括了项目的编译、链接和调试等操作命令,每个按钮的功能主要与Build和Debug主菜单中某个菜单项对应。BuildMiniBar工具栏CompileBuildExecuteInsertBreakpointGoStopBuild2025/3/1837在默认设置情况下,VisualC++IDE中将显示WizardBar工具栏,它位于Standard工具栏下面。WizardBar是对VisualC++中特色功能的快捷操作,它提供了对某个类的某个成员的快速访问,能显示、跟踪和操作当前的成员。WizardBar工具栏
选择激活类筛选激活类的成员函数或资源选择类的成员函数切换到类的成员函数声明快捷菜单2025/3/18381.3联机帮助VCProgrammer`sGuide:VC程序员指南。VCUser`sGuide:VC用户指南。VCTutorials:VC教程。MFCandTemplates:微软基础类库和模板参考信息。LanguagesandLibrariesforVC:VC语言和库文件信息。VC帮助系统主要提供五个方面内容2025/3/1839MSDN帮助系统2025/3/1840MSDN的启动方法:执行Help|Contents命令或Search工具栏按钮;单击F1键快速获取相关内容的帮助,如在源文件编辑器中用光标把一个需要查询的单词全选上,或单击一条出错提示信息,按F1键出现MSDN的“索引”页面;脱离于VisualC++集成开发环境而独立运行,MSDN是MicrosoftVisualStudio的一个组件,从Windows“开始|程序”菜单中选择MicrosoftDeveloperNetwork菜单中的MSDNLibrary菜单项,就启动了MSDN帮助系统。2025/3/1841选择左边定位窗口的【目录】选项可以查看帮助系统的多级目录,双击某一项目录可以查看目录的文档内容。目录定位2025/3/1842在用户输入关键词(字)的同时,MSDN动态显示相应关键词列表。用户确定关键词后按“enter”键或单击“显示”按钮即可显示相应的帮助内容。索引2025/3/1843搜索2025/3/1844书签2025/3/1845程序编译调试命令设置断点使用Variables窗口使用Watch窗口主要内容:1.4VisualC++的程序调试技术2025/3/1846程序调试是程序设计中一个很重要的环节,一个程序要经过很多次调试才能保证其基本正确。程序调试分为源程序语法错误的修改和程序逻辑设计错误的修改两个阶段。编译器只能找出源程序语法上的错误,程序逻辑设计上的错误只能靠程序员通过一些调试工具来手工检查和修改。
2025/3/1847查找源程序中的语法错误(编译)对于程序中的语法错误,直接利用高级语言编译器就能找出来。如果程序有语法错误,则在执行编译、链接命令时,VisualC++编译器将在Output输出窗口给出语法错误提示信息。错误提示信息的格式为:<源程序路径>(行):<错误编号>:<错误类型>:<错误描述>例如:
D:\MyDlg\MyDlgDlg.cpp(38):errorC2065:
syntaxerror:
missing’;’beforetype‘int’
2025/3/1848语法错误分为:error错误出现的情况:如少写一个括号、分号或写错一个单词,属于语法错误。当出现error错误时将不会产生可执行程序。warning错误出现的情况:如一个定义的变量没有使用、一个浮点值被赋值给一个整形变量等。出现warning错误时可生成可执行程序。
提示:编译器给出的错误提示信息可能不十分准确,并且一处错误往往会引出若干条错误提示信息,一个有经验的程序员根据这些信息就能够判断具体的错误位置,修改一个错误后马上进行程序的编译和链接。通过重复的编译和链接,使程序中的错误越来越少,直至所有的错误都被修改。2025/3/1849在链接阶段也可能给出错误提示信息,链接错误提示信息不给出错误发生的具体位置,因为链接的程序是目标文件(obj),无法确定错误发生的准确位置。发生链接错误时,一般是程序中调用了某个函数,而链接程序却找不到该函数的定义。另外,程序分为几个文件分别编译、链接时,可能出现全局变量没有声明或重复声明的错误。在Output窗口中双击错误提示信息可以返回到源程序编辑窗口,并通过一个箭头符号定位到产生错误的语句。在Output窗口选择一条错误提示信息后,单击F1键可打开MSDN联机帮助,显示该错误代码更详细的说明和有关的例子。2025/3/1850例1:#include<iostream>usingnamespacestd;main(){floata,b;c=max(a,b);cout<<"themaxis:"<<c<<endl;}floatmax(floatx,floaty){floatz;if(x>y) z=x;else z=y;returnz;}2025/3/1851
VisualC++提供了一个调试工具─Debug调试器。利用它可以在开发程序时方便快捷地进行程序的调试。Debug调试器
Debug调试器功能:设置断点单步跟踪观察变量、表达式和函数调用关系。2025/3/1852Debug版本生成的中间文件及可执行文件放在Debug子目录,目标文件包含所有的调试信息,但不具有优化功能。Release版本生成的文件放在Release子目录,目标文件不包含任何调试信息,不能进行程序调试,但具有优化功能。编程时一般先生成一个Debug调试版程序,程序经过调试确认无误后,再编译、链接生成一个Release发布版程序。Debug和Release版2025/3/1853VisualC++的菜单栏---Build菜单StartDebug选项从当前语句开始执行程序直到遇到断点或遇到程序结束单步执行程序,并在遇到函数调用时进入函数内部再从头单步执行使程序在运行到当前光标所在位置时停止(相当于设置一个临时断点)调试过程中直接进入到正在运行的进程中2025/3/1854
Build主菜单中有一个StartDebug子菜单,其中含有启动Debug调试器的命令。如执行其中的Go(快捷键为F5)命令后,程序便在调试器中运行,直到断点处停止。启动调试器后,Debug菜单取代Build菜单出现在菜单栏中,同时出现一个停靠的Debug工具栏和一些调试窗口,如下图所示。启动Debug调试器2025/3/18552025/3/1856调试窗口一般情况下,当进入程序调试时,除了打开常见的Output输出窗口,Debug调试器还自动打开Variable和Watch窗口。Output输出窗口:显示有关Build和Debug操作的信息,包括编译链接错误提示信息和调试时一些调试宏的输出信息。2025/3/1857Variable变量窗口:用于观察和修改某个作用域内所有变量的当前值,调试器可根据当前程序运行过程中变量的变化情况自动选择应显示的变量。该窗口有三个页面:(1)Auto:显示变量的值和函数的返回值;(2)Locals:显示当前函数中局部变量的值;(3)this:以树型方式显示当前类的对象的所有数据成员,单击“+”号可展开指针所指对象。Watch查看窗口:用于观察和修改变量或表达式的值。单击Watch窗口Name栏下的空白框,用户可添加新的要观察的变量或表达式。2025/3/18582025/3/1859#include"stdio.h"floatplus(floata,floatb);intmain(void)//定义主函数{ floatnum1,num2,sum; intint_num1,int_num2intint_sum; printf("********************************\n"); printf("*欢迎使用加法计算器1.0版*\n"); printf("********************************\n"); printf("请输入第一个操作数,按Enter键结束:\n");scanf("%f",&num1); printf("请输入第二个操作数,按Enter键结束:\n");scanf("%f",&num2);{int_num1=(int)num1; int_num2=num2;} int_sum=int_num1+int_num2; sum=plus(num1,num2); sum=plus(num1,num2); return0;}2025/3/1860floatplus(floata,floatb){ floatsum; sum=a+b; returnsum;}2025/3/1861
跟踪调试程序是查找逻辑设计错误最常采用的动态方法。跟踪调试的基本原理就是让程序按照源代码设计流程一步一步地执行,通过观察和分析程序执行过程中数据和代码执行流程的变化来查找程序设计的逻辑错误。跟踪调试可执行程序2025/3/1862
设置断点:在调试器中运行程序时可以强制程序执行到断点处暂时停下来。
使用Debug调试程序单步执行:使程序按照源代码的编写流程一行一行执行。观察程序当前的数据变化情况:单步执行程序时通过观察调试窗口中变量、表达式、调试输出信息和函数栈的内容了解程序的运行情况。跟踪调试时可以很方便地查看某个变量的值,只需将光标在该变量上停留片刻,就会出现一个黄色的DataTips信息框,显示光标所指变量的值。2025/3/1863断点的设置【Edit】|【Breakpoint】或Alt+F9单击鼠标右键,在弹出菜单中选Insert/Removebrekpoint单击工具栏里的断点作用:中断程序的执行过程,以便检查程序代码、变量和寄存器值2025/3/1864Variables窗口AutoLocalsThisWatch窗口变量表达式2025/3/1865查看变量的值2025/3/1866查看变量的值2025/3/1867#include"stdio.h"#include"conio.h"structNode{ intnum; structNode*next;};voidinsert(structNode*head,structNode*p){ structNode*tmp; structNode*pre; if(head->next==NULL) {head->next=p; p->next=NULL;} else {pre=tmp=head; while(tmp=tmp->next) {if(tmp->num>=p->num) break; else pre=tmp; } pre->next=p; p->next=tmp; }}2025/3/1868voiddisplay(structNode*head){ structNode*p=head;while(p) printf("当前节点的值为:%d\n",p->num);}intmain(void){ inti; printf("***************
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 发现茶艺师考试的潜力试题及答案
- 软件技术资格认证常见问题及答案
- 深入理解茶艺的技术创新试题及答案
- 二零二五年度实习教师与特殊教育学校合作协议书
- 二零二五年度兼职程序员聘用合同模板
- 二零二五年度果林采摘体验租赁合作协议
- 二零二五年度商务洽谈专用酒店会议室使用权合同
- 二零二五年度幼儿园品牌连锁加盟管理权转让协议
- 二零二五年度古董委托保管与历史价值评估合同
- 2025年度物业公司股权转让与社区图书阅览室运营协议
- 校园消费进行时青春权益不掉队-3·15消费者权益日教育宣传主题班会课件
- 英语-安徽省滁州市2025年(届)高三下学期第一次教学质量监测(滁州一模)试题和答案
- 2025年海南保亭县事业单位招聘综合历年高频重点模拟试卷提升(共500题附带答案详解)
- 污水处理设施运维服务投标方案(技术标)
- 2024年苏州高博软件技术职业学院高职单招职业适应性测试历年参考题库含答案解析
- 2025年上半年江苏省无锡瀚澜水利科技限公司招聘7人易考易错模拟试题(共500题)试卷后附参考答案
- 我的家乡衢州
- 2025年全国教育工作会议学习心得
- 空调安装及维修的注意事项
- 通用电子嘉宾礼薄
- 校企合作就业协议书标准版范本
评论
0/150
提交评论