西华大学《高级语言在测控中的应用》 实验指导书(5)

2019-04-02 21:56

《西华大学高级语言在测控中的应用》实验指导书

图1-28 建立新项目成功

向此项目文件添加内容。步骤与方法一中的第(4)步相同。编译和连接项目文件。步骤与方法一中的第(4)步相同。执行可执行文件。步骤与方法一中的第(6)步相同。显然,这种方法比前一种方法简单一些。在介绍单文件程序时,为了尽量简化手续,这里没有建立工作区,也没有建立项目文件,而是直接建立源文件,实际上,在编译每一个程序时都需要一个工作区,如果用户未指定,系统会自动建立工作区,并赋予它一个默认名(此时以文件名作为工作区名。

1.3 Visual C++ 6.0 工程相关文件介绍

序号 文件名 描述

1 *.dsw VC 工作区文件

2 *.dsp (Developer Studio Project)项目文件,文本格式。不熟悉的话不要手工修改

3 *.ncb 无编译浏览文件。当自动完成功能出问题时,可以删除此文件,编译工程后会自动生成。

4 *.opt 工程关于开发环境的参数文件,如VC 工具条位置信息等。 5 *.h C/C++程序头文件,可用文本编辑器打开 6 *.cpp C++源程序文件,可用文本编辑器打开 7 *.exe 程序可执行文件 8 *.plg 编译信息文件。编译时的error 和warning 信息文件(实际上是一个html文件),一般用处不大。在Tools",Options",Build 里面的选项可以控制这个文件的生成。

9 *.pch (Pre-Compiled File)是预编译文件。可以加快编译速度,但是文件非常大

10 *.pdb (Program Database)记录了程序有关的一些数据和调试信息,在调试的时候有用 11 *. obj 源程序文件的目标文件,编译后生成

12 *. ilk 源程序文件的连接文件,连接后生成注在VC 下建立一个工程后,会自动产生1~4 类型的文件。加入*.h、*.cpp 文件编译后产生7~12 类型的文件。其中8~12 类型的文件位于

17

《西华大学高级语言在测控中的应用》实验指导书

工程目录下的Debug 目录下。

1-4 类型的文件都是工程相关的文件,一般不要删除,因为删除后,必须手动的重新建立工程(1.2.6 详细描述了如何建立一个工程)。对于大型项目来说,删除这些文件的后果很严重。5~6 类型的文件还有什么可说的,不仅不能删除这些文件,还要备份这些文件。失去这些文件是灾难性的。7~12 类型的所有文件都是可以删除的,因为再次编译连接运行程序时,会再次自动生成这些文件。

1.4 Visual C++ 6.0 错误信息 1.4.1 程序错误的类型

1、严重错误(fatal error)

很少出现,通常是内部编译器出错。造成编译立即停止。 2、语法错误(error)

语法错误是指源程序中存在不符合C/C++语言语法规定的语句,例如将int 写成Int,括 号不匹配等。这些错误不改正是不能通过编译的。如图1-29

图1-29 语法错误

3、警告错误(warning)

对于一些在语法上有轻微毛病但不影响程序运行的错误(如定义了变量但始终未使用),编译时会发出警告信息,虽然程序能通过编译、连接、运行,但警告类的错误常常带来程序非法操作、运行错误等问题。所以,尽量改正警告错误。如图1-30

图1-30 警告错误

4、连接错误(Link error)

程序语法上没有问题,但是在连接时出现错误。这类问题常常是因为程序依赖函数、库不匹配造成的。如图1-31

图1-31 连接错误

18

《西华大学高级语言在测控中的应用》实验指导书

5、逻辑错误

逻辑错误是指程序无语法错误,也能正常运行,但结果不对。这类错误常常是设计算法时的错误,计算机无法检查出来。逻辑错误是最难改正的错误之一,引起错误的原因往往可能很不起眼,比如就是一个变量没有初始化等,所以改正这类错误常常需要投入大量的精力。 6、运行错误

有时程序既无语法和逻辑错误,但是程序就是不能正常运行。多数情况下是输入数据和程序要求的数据不匹配造成的,也可能是系统的支持问题。在C++中,语法、连接错误相对较为容易改正。而逻辑错误是最隐蔽的错误,比较难以改正。运行错误则主要是在程序强壮性、兼容性上可能存在问题,可以通过提高程序的适应能力来修正。而最容易让程序开发人员忽略的就是警告错误了,因为警告错误不一定会影响程序的运行,但是正是这种不确定性也传递给了程序的执行,你不知道程序什么时候会出问题,也许永远不会有问题,也许问题马上出现,也许问题n 年后出现,谁知道。所以,一定要重视警告错误。

表1-1 C++错误的前缀描述

错误等级 错误前错误编号范围 示例

001~999 严重错误 C1 C2065: The specified identifier was not

declared.(标识符,比如一个变量,未申明)。

001~999 编译错误 C2 如图 1-29,coutt没有申明过。 001~999 警告错误 C4 C4101: 'main' : unreferenced local variable(局

部变量申明后从未使用过)。如图 1-30,

其中的 i变量从未使用过。

LNK2001: unresolved external symbol 链接错误 LNK 1000~6026

\(连接指定的函数或库异常)。如图 1-31,程序找不到 main函数。

表1-1 是C++错误的前缀描述,在遇到错误时可以根据其前缀就知道错误等级了。

1.4.2 错误信息的查询

只有详细地了解了错误的原因,才能正确地改正错误。Microsoft 的MSDN Library(Microsoft 开发帮助文档库,如图1-32)提供了查询错误信息的功能。对于遇到的不明白的错误,同学们应该学习使用MSDN 帮助文档库进行错误信息查询,获得错误信息的解释和可能的改正方法。具体方法如下:

(1)选择MSDN Library(如图1-32)的索引属性页,在“键入要查找的关键字:”中输入错误号(由错误前缀和编号组成),比如输入C2065,如图1-33 所示。

19

《西华大学高级语言在测控中的应用》实验指导书

图1-32 MSDN Library

(2)、在索引列表框中双击选择匹配的错误后,错误类型、可能原因、改正方法等信息则显示在窗口的右边部分。如图1-33 所示:

图1-33 在MSDN Library 中查找错误信息

20

《西华大学高级语言在测控中的应用》实验指导书

1.5 Visual C++ 6.0 调试工具使用

在开发程序的过程中,需要不断地调试自己的程序,或检查错误,或测试程序的稳定性,这就需要借助调试工具来进行。选择一个好的调试工具并能够熟练地使用它,将会使程序开发变得更加容易,从而大大提高程序开发的效率。目前有许多调试工具,集成在Visual C++中的调试工具便具有相当强大的功能。

1.5.1 设置工程的调试属性

在Visual C++中建立一个工程(Project)时,Visual C++都会自动创建一个Debug 目录,在该目录下存放在开发过程进行调试时生成的文件以及生成的可执行文件(不同类型文件的解释见1.3 节 Visual C++ 6.0工程相关文件介绍),不妨将此时生成的可执行文件称为Debug版本。在Debug 版本当中,包含着Microsoft 格式的调试信息,而且不进行任何代码优化。一般情况下,在程序的开发过程中使用Debug 模式。

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

如果要在Visual C++中调试程序,则工程的应设为Debug 版本。一般Visual C++建立一个工程(Project)时,默认采用Debug 版本。

图1-34 设置工程的调试属性

1.5.2 学习设置断点进行单步调试

通常,一个应用程序是连续运行的,但是在程序调试的过程中,往往需要在程序的运行过程的某一阶段来观测应用程序的状态,所以必须使程序在某一地点停下来。在Visual C++中,可以通过设置断点来达到这样的目的。在设置好断点之后,当程序运行到设立断点处时

21


西华大学《高级语言在测控中的应用》 实验指导书(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:江苏省常州市2017届高三期末英语试卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: