VC++60使用方法Word文件下载.docx
- 文档编号:18198297
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:13
- 大小:232.46KB
VC++60使用方法Word文件下载.docx
《VC++60使用方法Word文件下载.docx》由会员分享,可在线阅读,更多相关《VC++60使用方法Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
图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)”工具条上的
按钮,程序执行到第一个断点处程序将暂停执行,该断点处所在的程序行的左侧红色圆点上添加一个黄色箭头,此时,用户可方便地进行变量观察。
继续执行该命令,程序运行到下一个相邻的断点。
③取消断点
只需在代码处再次按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
"
前的代码都是预编译的,它跳过#include
stdafx.
h"
指令,使用projectname.pch编译这条指令之后的所有代码。
因此,所有的CPP实现文件第一条语句都是:
#include
《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:
,一个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;
//此行不
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 60 使用方法
![提示](https://static.bdocx.com/images/bang_tan.gif)