VC++60使用方法.docx

上传人:b****3 文档编号:5223587 上传时间:2022-12-14 格式:DOCX 页数:13 大小:232.46KB
下载 相关 举报
VC++60使用方法.docx_第1页
第1页 / 共13页
VC++60使用方法.docx_第2页
第2页 / 共13页
VC++60使用方法.docx_第3页
第3页 / 共13页
VC++60使用方法.docx_第4页
第4页 / 共13页
VC++60使用方法.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

VC++60使用方法.docx

《VC++60使用方法.docx》由会员分享,可在线阅读,更多相关《VC++60使用方法.docx(13页珍藏版)》请在冰豆网上搜索。

VC++60使用方法.docx

VC++60使用方法

VisualC++6.0上机指南

一、VisualC++6.0概述

VisualC++6.0是微软公司推出的目前使用极为广泛的基于Windows平台的可视化集成开发环境,它和VisualBasic、VisualFoxpro、VisualJ++等其它软件构成了VisualStudio(又名DeveloperStudio)程序设计软件包。

DeveloperStudio是一个通用的应用程序集成开发环境,包含了一个文本编辑器、资源编辑器、工程编译工具、一个增量连接器、源代码浏览器、集成调试工具,以及一套联机文档。

使用VisualStudio,可以完成创建、调试、修改应用程序等的各种操作。

VC++6.0提供面向对象技术的支持,它能够帮助使用MFC库的用户自动生成一个具有图形界面的应用程序框架。

用户只需在该框架的适当部分添加、扩充代码就可以得到一个满意的应用程序。

VC++6.0除了包含文本编辑器,C/C++混合编译器,连接器和调试器外,还提供了功能强大的资源编辑器和图形编辑器,利用“所见即所得”的方式完成程序界面的设计,大大减轻程序设计的劳动强度,提高程序设计的效率。

VC++的功能强大,用途广泛,不仅可以编写普通的应用程序,还能很好地进行系统软件设计及通信软件的开发。

二、使用VisualC++6.0建立C语言应用程序

利用VC++6.0提供的一种控制台操作方式,可以建立C语言应用程序,Win32控制台程序(Win32ConsoleApplication)是一类Windows程序,它不使用复杂的图形用户界面,程序与用户交互是通过一个标准的正文窗口,下面我们将对使用VisualC++6.0编写简单的C语言应用程序作一个初步的介绍。

1.安装和启动

运行VisualStudio软件中的setup.exe程序,选择安装VisualC++6.0,然后按照安装程序的指导完成安装过程。

安装完成后,在开始菜单的程序选单中有MicrosoftVisualStudio6.0图标,选择其中的MicrosoftVisualC++6.0即可运行(也可在Window桌面上建立一个快捷方式,以后双击即可运行)。

2.创建工程项目

用VisualC++6.0系统建立C语言应用程序,首先要创建一个工程项目(project),用来存放C程序的所有信息。

创建一个工程项目的操作步骤如下:

(1)进入VisualC++6.0环境后,选择主菜单“文件(File)”中的“新建(New)”选项,在弹出的对话框中单击上方的选项卡“工程(Projects)”,选择“Win32ConsoleApplication”工程类型,在“工程(Projectname)”一栏中填写工程名,例如Myexam1,在“位置(Location)”一栏中填写工程路径(目录)例如:

D:

\MyProject,见图2-1,然后单击“确定(OK)”按钮继续。

图2-1创建工程项目

(2)屏幕上出现如图2-2所示的“Win32ConsoleApplication—Step1of1”对话框后,选择“Anemptyproject”项,然后单击“F完成(Finish)”按钮继续:

图2-2Win32ConsoleApplication—Step1of1对话框

出现如图2-3所示的“新建工程信息(NewProjectInformation)”对话框后,单击“确定(OK)”按钮完成工程创建。

创建的工作区文件为myexam1.dsw和工程项目文件myexam1.dsp。

图2-3新建工程信息对话框

3.新建C源程序文件

选择主菜单“工程(Project)”中的“添加工程(AddtoProject)新建(New)”选项,为工程添加新的C源文件。

图2-4加入新的C源程序文件

出现如图2-4所示的“新建”对话框后,选择“文件(File)”选项卡,选定“C++SourceFile”项,在“文件(FileName)”栏填入新添加的源文件名,如myexam1.c,“C目录:

(Location)”一栏指定文件路径,单击“确定(OK)”按钮完成C源程序的系统新建操作,如图2-4所示。

在文件编辑区输入源程序,然后保存工作区文件,如图2-5所示。

注意:

填入C源文件名一定要加上扩展名“.c”,否则系统会为文件添加默认的C++源文件扩展名“.CPP”。

图2-5建立c源程序

4.打开已存在的工程项目,编辑C源程序

进入VisualC++6.0环境后,选择主菜单“打开工作区(OpenWorkspace)”命令,在“OpenWorkspace”对话框内找到并选择要打开的工作区文件myexam1.dsw,单击“确定(OK)”按钮,打开工作区。

图2-6打开myexam1.c源程序

在左侧的工作区窗口,单击下方的“FileView”选项卡,选择文件视图显示,打开“Source”文件夹,再打开要编辑的C源程序进行编辑和修改。

如图2-6所示。

5.在工程项目中添加已经存在的C源程序文件

选择主菜单“打开工作区(OpenWorkspace)”命令,在“OpenWorkspace”对话框内找到并选择要打开的工作区文件“myexam.dsw”,单击“确定(OK)”按钮打开工作区。

将已经存在的C源程序文件添加工程到当前打开的工程区文件中,选择主菜单“工程(Project)”中的“添加工程(AddtoProject)File”选项,在“InsertFileintoProject”对话框内找到已经存在的C源程序文件,单击“确定(OK)”按钮完成添加。

6.编译、连接和运行

(1)编译

选择主菜单“编译(Build)”中的“编译(Compile)”命令,或单击工具条上的图标

,系统只编译当前文件而不调用链接器或其它工具。

输出(Output)窗口将显示编译过程中检查出的错误或警告信息,在错误信息处单击鼠标右键或双击鼠标左键,可以使输入焦点跳转到引起错误的源代码处大致位置以进行修改。

如图2-7所示,输出窗口中提示“ErrorC2146:

syntaxerror:

missing';'beforeidentifier'sum2'”,提示在标识符sum2之前缺少分号,同时在程序窗口标注出出错语句的大致位置。

在“sum1=b-a”语句的后面加一个分号后再编译一次即可。

(2)构建

选择主菜单“编译(Build)”中的“构建(Build)”命令,或单击工具条上的图标

,对最后修改过的源文件进行编译和连接。

选择主菜单“编译(Build)”中的“重建全部(RebuildAll)”命令,允许用户编译所有的源文件,而不管它们何时曾经被修改过。

选择主菜单“编译(Build)”中的“批构建(BatchBuild)”命令,能单步重新建立多个工程文件,并允许用户指定要建立的项目类型。

程序构建完成后生成的目标文件(.obj),可执行文件(exe)存放在当前工程项目所在文件夹的“Debug”子文件夹中。

图2-7编译、连接和运行.C源程序

(3)运行

选择主菜单“编译(Build)”中的“执行(BuildExecute)”命令,或单击工具条上的图标

,执行程序,将会出现一个新的用户窗口,按照程序输入要求正确输入数据后,程序即正确执行,用户窗口显示运行的结果。

对于比较简单的程序,可以直接选择该项命令,编译、连接和运行一次完成。

7.调试程序

在编写较长的程序时,能够一次成功而不含有任何错误决非易事,对于程序中的错误,系统提供了易用且有效的调试手段。

调试是一个程序员最基本的技能,不会调试的程序员就意味着即使学会了一门语言,却不能编制出任何好的软件。

(1)调试程序环境介绍

①进入调试程序环境

选择主菜单“编译(Build)”中的“开始调试(StartDebug)”命令,选择下一级提供的调试命令,或者在菜单区空白处单击鼠标右键,在弹出的菜单中选中“调试(Debug)”项。

激活调试工具条,选择需要的调试命令,系统将会进入调试程序界面。

同时提供多种窗口监视程序运行,通过单击“调试(Debug)”工具条上的按钮,可以打开/关闭这些窗口,参考图2-8。

Watch(观察)窗口

单击调试(Debug)工具条上的Watch按钮,就出现一个Watch窗口,

系统支持查看程序运行到当前指令语句时变量、表达式和内存的值。

所有这些观察都必须是在断点中断的情况下进行。

观看变量的值最简单,当断点到达时,把光标移动到这个变量上,停留一会就可以看到变量的值。

还可以采用系统提供一种被称为Watch的机制来观看变量和表达式的值。

在断点中断状态下,在变量上单击右键,选择QuickWatch,就弹出一个对话框,显示这个变量的值。

在该窗口中输入变量或者表达式,就可以观察变量或者表达式的值。

注意:

这个表达式不能有副作用,例如“++”和“--”运算符绝对禁止用于这个表达式中,因为这个运算符将修改变量的值,导致程序的逻辑被破坏。

Variables(变量)窗口 

单击调试(Debug)工具条上的“Variables“按钮弹出Variables窗口,显示所有当前执行上下文中可见的变量的值。

特别是当前指令语句涉及的变量,以红色显示。

  

Memory(内存)

由于指针指向的数组,Watch窗口只能显示第一个元素的值。

为了显示数组的后续内容,或者要显示一片内存的内容,可以使用memory功能。

单击调试(Debug)工具条上的“memory“按钮,就弹出一个对话框,在其中输入地址,就可以显示该地址指向的内存的内容。

Registers(寄存器)

单击调试(Debug)工具条上的“Registers”按钮弹出一个对话框,显示当前的所有寄存器的值。

CallStack(调用堆栈)  

调用堆栈反映了当前断点处函数是被哪些函数按照什么顺序调用的。

单击调试(Debug)工具条上的.“Callstack”显示CallStack对话框。

在CallStack对话框中显示了一个调用系列,最上面的是当前函数,往下依次是调用函数的上级函数。

单击这些函数名可以跳到对应的函数中去。

.

图2-8调试程序界面

(2)单步执行调试程序

系统提供了多种单步执行调试程序的方法:

可以通过单击调试(Debug)工具条上的按钮或按快捷键的方式选择多种单步执行命令。

①单步跟踪进入子函数(StepInto,F11),每按一次F11键或按

,程序执行一条无法再进行分解的程序行,如果涉及到子函数,进入子函数内部;

②单步跟踪跳过子函数(StepOver,F10),每按一次F10键,程序执行一行;Watch窗口可以显示变量名及其当前值,在单步执行的过程中,可以在Watch窗口中加入所需观察的变量,辅助加以进行监视,随时了解变量当前的情况,如果涉及到子函数,不进入子函数内部;

③单步跟踪跳出子函数(StepOut,Shift+F11),按键后,程序运行至当前函数的末尾,然后从当前子函数跳到上一级主调函数。

④运行到当前光标处

当按下CTRL+F10后。

程序运行至当前光标处所在的语句。

 

表2-1常用调试命令一览表

菜单

命令

工具条按钮

快捷键

说明

Go

F5

继续运行,直到断点处中断。

StepOver

F10

单步,如果涉及到子函数,不进入子函数内部

StepInto

F11

单步,如果涉及到子函数,进入子函数内部

RuntoCursor

CTRL+F10

运行到当前光标处。

StepOut

Shift+F11

运行至当前函数的末尾。

跳到上一级主调函数

F9

设置/取消断点

StopDebugging

Shift+F5

结束程序调试,返回程序编辑环境

图2-9设置断点调试程序

(3)设置断点调试程序

为方便较大规模程序的跟踪,断点是最常用的技巧。

断点是调试器设置的一个代码位置。

当程序运行到断点时,程序中断执行,回到调试器。

调试时,只有设置了断点并使程序回到调试器,才能对程序进行在线调试。

参考图2-9。

①设置断点的方法

可以通过下述方法设置一个断点。

首先把光标移动到需要设置断点的代码行上,然后按F9快捷键或者单击“编译”工具条上的按钮

,断点处所在的程序行的左侧会出现一个红色圆点。

参考图2-9和表2-1。

还可以选择主菜单“编辑(Edit)”中的“断点(Breakpoints)”命令,弹出“Breakpoints”对话框,打开后点击“A分隔符在(Breakat)”编辑框的右侧的箭头,选择合适的位置信息。

一般情况下,直接选择linexxx就足够了,如果想设置不是当前位置的断点,可以选择Advanced,然后填写函数、行号和可执行文件信息。

系统提供如下多种类型的断点:

条件断点:

可以为断点设置一个条件,这样的断点称为条件断点。

对于新加的断点,可以单击“C条件(Conditions)”按钮,为断点设置一个表达式。

当这个表达式发生改变时,程序就被中断。

数据断点:

数据断点只能在“Breakpoints”对话框中设置。

选择“Data”选项卡,显示设置数据断点的对话框。

在编辑框中输入一个表达式,当这个表达式的值发生变化时,到达数据断点。

一般情况下,这个表达式应该由运算符和全局变量构成。

消息断点:

VC也支持对Windows消息进行截获。

有两种方式进行截获:

即窗口消息处理函数和特定消息中断。

在“Breakpoints”对话框中选择Messages选项卡,就可以设置消息断点。

②程序运行到断点

选择主菜单“编译(Build)”中的“开始调试(StartDebug)”命令的下一级的“去(Go)”调试命令,或者单击“编译(Compile)”工具条上的

按钮,程序执行到第一个断点处程序将暂停执行,该断点处所在的程序行的左侧红色圆点上添加一个黄色箭头,此时,用户可方便地进行变量观察。

继续执行该命令,程序运行到下一个相邻的断点。

参考图2-9。

③取消断点

只需在代码处再次按F9或者单击“编译”工具条上的按钮

也可以打开“Breakpoints”对话框后,按照界面提示去掉断点。

(4)结束程序调试,返回程序编辑环境。

选择主菜单“Debug”中的“StopDebugging”命令,或者单击“调试(Debug)”工具条上的

按钮,或者单击Shift+F5键,可结束程序调试,返回程序编辑环境。

8.有关联机帮助

VisualC++6.0提供了详细的帮助信息,用户通过选择“帮助(Help)”菜单下的“帮助目录(Contents)”命令就可以进入帮助系统。

在源文件编辑器中把光标定位在一个需要查询的单词处,然后按F1键也可以进入VisualC++6.0的帮助系统。

用户要使用帮助必须首先安装MSDN。

用户通过VisualC++6.0的帮助系统可以获得几乎所有的VisualC++6.0的技术信息,这也是VisualC++作为一个非常友好的开发环境所具有的特色之一。

三、VisualC++6.0工程中的项目文件都表示什么

.opt:

工程关于开发化境的参数文件,如工具条位置等信息。

.aps(AppStudioFile):

资源辅助文件,二进制格式,一般不用去管他。

.clw:

ClassWizard信息文件,实际上是INI文件格式,又兴趣可以研究一下。

有时候ClassWizard出了问题,手工修改CLW文件可以解决。

如果此文件不存在的话,每次用ClassWizard的时候会提示是否重建。

.dsp(DevelopStudioProject):

项目文件,文本格式,不过不熟悉的不要手工修改。

.dsw(DevelopStudioWorkspace):

是工作区文件,其他特点和.dsp差不多。

.plg:

是编译信息文件,编译时的error和warning信息文件(实际上时一个html文件),一般用处不大。

在单击菜单【Tool】->【Option】弹出的对话框里面有个选项可以控制这个文件的生成。

.hpj(HelpProject):

是生成帮助文件的工程,用microsoftHelpCompiler可以处理。

.mdp(MicrosoftDevStudioProject):

是旧版本的项目文件,如果要打开此文件的话,会提示你是否转换成新的.dsp格式。

.bsc:

是用于浏览项目信息的,如果用SourceBrower的话就必须用这个文件。

如果不用这个功能的话,可以在ProjectOptions里面去掉GenerateBrowseInfoFile,这样可以加快编译速度。

.map:

是执行文件的影像信息记录文件,除非对系统底层,这个文件一般用不着。

.pch(Pre-CompiledFile):

可以加快编译速度,但是文件非常大。

.pdb(ProgramDatabase):

记录了程序有关的一些数据和调试信息,在调试的时候可能有用。

.exp:

只有在编译DLL的时候才会生成,记录了DLL文件的一些信息,一般也没有用。

.ncb:

无编译浏览文件(nocompilebrowser)。

当自动完成功能出问题时可以删除此文件,编译工程后会自动生成。

四、VC++6.0编译出错调试方法

《1》在编译VC++6.0是,出现fatalerrorC1010:

unexpectedendoffilewhilelookingforprecompiledheaderdirective

的错误.

解决方法:

1、如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的Settings,选择C/C++选项卡,从Category组合框中选中PrecompiledHeaders,选择NotUsingPrecompiledheaders。

确定。

2、在文件开头添加:

#include"stdafx.h"

 对预编译头文件说明如下:

  

   

 所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。

这样可以加快编译速度,节省时间。

  

   

 预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。

  

   

 编译器通过一个头文件stdafx.h来使用预编译头文件。

stdafx.h这个头文件名是可以在project的编译设置里指定的。

编译器认为,所有在指令#include  "stdafx.h"前的代码都是预编译的,它跳过#include  "stdafx.  h"指令,使用projectname.pch编译这条指令之后的所有代码。

  

   

 因此,所有的CPP实现文件第一条语句都是:

#include  "stdafx.h"。

  

 《2》在编译VC++6.0是,出现oneormoremultiplydefinedsymbolsfound的错误.

一般还伴随着_XXxalreadydefinedinXXX.obj的错误

也就是说链接时出现一个函数定义了两次了。

解决办法:

 不知道你是什么问题按以下步骤重建双击vc打开新建工程选win32Application加入文件名默认项完成新建C++SourceFile源文件输入文件名完成粘贴你的代码插入下面一行wndclass.hbrBackground=(HBRUSH)GetStockObject(GRAY_BRUSH);看看能不能编译通过运行出来了

当然也如果是一段程序的话,可以不新建工程也不加入任何工程,一般不会出现这种问题

《3》Localfunctiondefinitionsareillegal错误

这个没有别的原因就是少了一个右大括号“}”,报错的个数和这个函数的位置有关,好像也和作用域有关,或者和它的使用频度有关,反正报错的个数不太一样,是主应用程序的一个函数少了一个“}”。

解决的方法就是:

如果函数的数量少就一个一个的用Ctrl+}来查,如果太多的话就的将最近改动过的来试,好像也没有什么好的方法。

(一般报错的位置不是真正的出错位置,一般是报错位置的上一个函数)

Syntaxerror:

missing';'before'}'missingfunctionheader(old-styleformallist?

)这样的错误提示肯定是少了一个左大括号“{”,这种情况下报错的数目不会太多,一般也就是四个Syntaxerror:

missing';'before'}',一个missingfunctionheader(old-styleformallist?

),这时候注意你查你这个函数的左大括号就可以了,当时这时的报错的行一般都不是真正出问题的地方,而是在这个的上面的某个函数少了一个左大括号。

这是整个函数的大括号的问题,如果是函数内部少大括号的问题的话就不会报这么多错了,也比较好改。

《4》多次用getchar()函数时有些代码不执行问题

      这个问题很隐蔽,因为每次用键盘输入时会代入一个回车,这样第一个getchar得到想要的值,第二个会得到一个回车。

解决方法是如果可以的话让getchar成对出现,第二个什么也不做。

《5》fatalerrorC1083:

Cannotopenprecompiledheaderfile:

'Debug/v13_3.pch':

Nosuchfileordirectory

在网上搜集了一下,这个错误是预编译文件的设置造成的,有几种可以尝试的途径:

1)单独编译StdAfx.cpp

2)编译所有(即按Ctrl+F7)

3)在工程-设置-c++-最下面的工程选项里去掉××。

pch文件

4)在工程-设置-c++-在分类里选择预编译头文件,选择自动使用预补偿页眉,或者选择不使用预补偿头

五、值得注意的几点:

1、如何设置断点

按F9在当前光标处增加一个断点和取消一个断点。

另外,在编辑状态下,按Ctrl+B组合键,弹出断点设置对话框。

然后单击【Condition…】按钮弹出设置断点条件的对话框进行设置。

2、如何清除所有的断点

菜单【Edit】->【Breakpoints…】,打开“Breakpoints”对话框,单击【RemoveAll】按钮即可。

快捷键是“Ctrl+Shift+F8”。

3、如何检测程序中的括号是否匹配

把光标移动到需要检测的括号前面,按快捷键“Ctrl+]”。

如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告。

4、几个重要的快捷键:

F9在当前光标所在的行下断点,如果当前行已经有断点,则取消断点.

 F5调试状态运行程序,程序执行到有断点的地方会停下来.

 F10单步执行程序.

 CTRL+F10运行到光标所在行.

 F11和F10的区别是,如果当前执行语句是函数调用,则会进入函数里面.

 SHIFT+F11跳出当前所在函数.

特别说明:

 a.有的地方不能下断点.比如空行,基本类型定义语句(不初始化),等等非执行语句.比如

inti; //此行不

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1