2024年2月25日发(作者:)

附录3 Visual C++ 6.0操作手册

Visual C++由美国微软公司开发,是Windows平台上流行的C/C++集成开发环境。从1993年发行1.0版本开始,历经多年锤炼,目前最新的版本是Visual C++2010。本文介绍如何在VC6.0版本(以下简称VC6)下开发C语言程序。

1. 新建C语言工程

VC6的AppWizard(应用向导)并不直接支持生成C语言工程,但是我们可以用以下两种方法来建立新的C语言文件。

方法1:通过向导生成。选择菜单栏中的File(文件)->New(新建),就会弹出图6-1的向导对话框,选择“Files”选项卡,按照如图所示的选项新建我们需要的C语言文件。注意:文件类型选择C++ Source File(C++源文件),文件名扩展名必须是“.c”。

扩展名必须是.c

选择c++源文件

图6-1 新建文件向导

方法2:手动新建文件。打开VC6,点击新建按钮生成一个空的文本文件,如图6-2所示。当保存时选择扩展名为“.c”文件即可。如图6-3所示。

1

点击此“新建”按钮建立空文本文件

图6-2使用“新建”按钮建立一个空的文本文件

文件扩展名必须是.c

点击此按钮保存文件

图6-3 保存文件

建议读者在新建好文本文件后,就将其保存为C语言的源文件。这样在对代码进行编辑时,开发环境会用C语言代码版式来处理该文件,对关键字变色并进行适当的缩进。这样在编写代码的过程中容易检查编码过程中的错误并养成良好的编程习惯。

2

2. 编译源程序

在编写完代码之后,下面就要编译源程序。按“编译”按钮或者直接按“F7”对程序进行编译。这时系统将在保存.c源文件的目录下生成与.c源文件同名的.dsw文件和.dsp文件。以后可以直接通过这些文件来打开工程继续编写程序。编译的过程中会在输出窗口输出错误(error)与警告(warning)信息,如果是仅有警告信息,程序可以运行,但可能存在潜在的异常。图6-4给出了编译相关的命令。

设置或取消断点

调试运行

运行

点击新建源文件

编译

Build

此处显示错误和警告信息

图6-4 编译相关的命令

下面我们简单介绍一下图6-4中的各个命令。

编译:编译当前源文件,在编译过程中检查出的错误将在输出窗口中显示。直接双击错误信息,鼠标将被定位到有错误的代码行。

Build:Build的过程即为编译项目中的所有文件,并把它们链接到一起。因为应用程序可以由多个文件组成,用Build这个工具可以使编译和链接程序所花的时间大大减少。

中止编译:点击此按钮中止编译过程。

运行:点击此按钮开始运行程序。如果此时程序未被Build,它们将被先Build然后再运行。

调试运行:用调试器运行程序,此时,可以通过设置断点、单步执行、进入函数体等多种方式跟踪程序的运行情况。有关调试方面的更多内容会在后面详细介绍。

设置或取消断点:我们可以把某行程序设置为断点,这样当程序运行到这行程序时将会停下来,然后我们可以逐条执行语句,并观察程序执行路径以及变量取值的变化,来发现程序中存在的错误。断点可以在程序运行之前设置,也可以在调试运行程序过程中随时在后续要运行的语句中设置。不再用到的断点可以取消。

3

文件及函数浏览器:在此区域浏览整个项目中的所有函数、全局变量以及所有文件。双击文件名,可以在右边的代码编辑器中打开相应文件。双击函数名或全局变量名,可以在右边的代码编辑器中打开此函数或全局变量所在的文件,并定位到函数体内或全局变量声明的地方。

代码编辑器:编辑代码文件。

信息输出窗:系统在此区域输出信息。比如上面在执行编译时,系统就会输出编译的结果,一般是编译器在程序中发现的错误或者一些警告。如果编译器没有发现错误(error)及警告(warning),那么你会在最后一行看见“0 error(s), 0 warning(s)”的字样。注意:在写程序时应当认真而小心的对待每一个warning,最好把它们都当做error对待。

3. 运行程序

程序被编译链接之后,就可以按“运行(ctrl+F5)”或者“调试运行(F5)”运行程序了。在以后每次运行程序前编译环境会自动检测程序是否需要重新编译。如果不需重新编译,将直接运行程序;如果需要编译,将会弹出一个对话框询问你是否同意重新编译,此时点击“Yes”,它就会自动重新编译、链接程序后再运行,非常方便。

4. 调试程序

用VC6进行程序的调试是非常方便的,我们可以在任一行设置或取消一个断点,当程序执行到断点所在的行时就会暂时停住,此时,你可以单步执行程序(即一次只执行一条语句),并查看此时各种变量的值来判断之前运行的结果是否正确,下面就来看看如何使用VC6的调试功能。

VC6开发环境下通过设置断点来调试我们的程序,通过在关键函数、输入输出点等程序流程的标志性位置设置断点,然后对程序进行调试运行,查找程序出错的地方以及熟悉程序的执行过程。

1.设置断点

输入程序,在程序的相应位置设置断点:将光标定位到目标行,然后直接按快捷键F9设置断点,此时可以看见目标行的最左端有一个暗红色的大圆点,如图6-5所示。而将光标定位到已设置的断点处,再次点击F9则取消该断点。

4

调试运行

设置的断点

图6-5 设置断点

2.调试运行

点击工具栏上的“调试运行按钮(F5)”,程序将自动编译、链接、运行,然后运行到我们所设定的断点的行上将停下来,此时可以看到暗红色的大圆点上出现了一个黄色的向右箭头,表示程序已经运行到该行代码处,如图6-6所示。

程序停在此行

当前变量显示区:显示与当前执行语句有关的变量

指定变量显示区:显示指定查看的变量

图6-6 调试界面

5

下面介绍调试(Debug)菜单下的各项功能。

继续运行(Go,F5):表示继续执行程序,直到碰见下一个断点时为止,如果后来没有断点,则程序一直执行到最后。

重新运行 (Restar):表示重新对程序调试运行。

停止调试 (Stop Debugging,Shift+F5):表示中止现在的调试界面,返回到代码编写界面。

进入函数内 (Step Into,F11):单步执行命令。如果下一条即将执行的语句是一条函数调用语句,那么就进入到函数体内逐句执行。

越过函数 (Step Over,F10):单步执行命令,即逐句执行代码。如果下一条即将执行的语句是一条函数调用语句,它不会进入函数体内,而是直接执行整个函数,并停到函数返回后的第一条语句上。

跳出函数体 (Step Out,Shift+F11):当之前用F11进入函数体后,可能逐条执行若干条语句后,已经没有必要再逐条执行后续的语句,此时可以使用Step Out将函数中尚未执行的语句自动执行完,从而跳出该函数,回到调用函数中的相应位置。

运行到光标所在的行 (Run To Cursor):运行程序到光标所在的行。

快速查看变量 (Quick Watch):它可以允许程序员自定义想要监视的变量,并在“指定变量显示区”显示,或者直接在显示指定的变量值的位置填写要查看的变量名即可。

代码所在的上下文 (Context):表明当前执行的语句所在的函数。

当前变量显示区:在此区域显示与当前执行语句有关的变量的值。

指定变量显示区:显示要查看的变量的值。

3.添加监视变量

通过“调试”菜单上的快速查看变量(Quick Watch),可以添加我们想要监视的变量,并在“指定变量显示区”中显示变量值得变化情况。如图6-7所示:

计算变量或表达式的值

在此输入要查看的变量或者表达式

在此显示查看的变量或者表达式的值

将变量加入到“指定变量显示区”

图6-7添加监视变量

6

4.函数体的调试

如果不能确定函数体是否有问题,则需要进入函数体内进行调试。可以在调用函数的语句处设置一个断点,当程序运行到该断点时,按F11进入到函数体内部,再按F10进行单步调试,观察函数的运行过程。

如果已经可以确认函数体没有错误,可以在该断点处按F10单步运行,这样只看到函数运行的结果,而不用单步调试被调用函数中的每一个语句。

5. 创建、编译和运行工程

1.创建工程

打开VC 6后,选择菜单栏中的文件(File)->新建(New),就会弹出下图的向导对话框。该对话框上面有四个选项卡,之前我们创建C程序的时候选择的是“文件” 选项卡,这里我们要选择的是“工程”这个选项卡,如图6-8所示。

选择“工程”选项卡之后,对话框的左边显示了Visual C++所支持的各种工程类型,一般初学C和C++时常用到的工程有Win32 Console Application(Win32控制台程序)、MFC AppWizard(exe)(可视化的MFC应用程序),可能也会用到MFC AppWizard(dll)和Win32

Dynamic-Link Library这样的动态链接库程序。这里我们选择Win32控制台程序作为例子。对话框右面可以输入工程的名字和修改保存的路径,输入工程名字后,VC会自动在你所选的目录下创建一个与工程名字同名的文件夹。选择确定,则弹出图6-9所示的对话框,要求选择控制台程序的类型。

新建工程

工程名称不

需要后缀

工程保存位置

每个工程都有自

己的工作空间

选择Win32控制台工程

图6-8 新建工程向导

7

图6-9 选择应用类型

1) 空工程(An empty project):选择空工程,点击完成。我们会发现生成的工程中没有任何文件,这时需要手动向其中添加源文件和头文件。这里有两种方式,一种是添加已经存在的文件到工程中;另一种是新建文件到工程中。

添加文件到工程:如图6-10所示,在打开的空工程中,从左侧的文件及函数浏览器中选择FileView,即以文件组织结构的方式显示该工程的结构,在Source Files和Header Files上分别点右键,选择“添加文件到目录”,即可将该工程所需的源文件和头文件加入进去。

新建文件到工程:在文件主菜单的工程选项中选择新建(New),在对话框中选择Files选项卡,再选择想要创建的文件类型,输入名字后,文件将会默认添加到工程所在文件夹。

8

图6-10 向工程中添加文件

2) 简单的程序(A simple application):和空工程的不同只是创建完成后自动生成了一个包括main函数的.cpp文件,该main函数也只有返回值,没有具体实现,所以也需要我们自己编写代码和添加文件。

3) “hello world”程序:与简单工程类似,只是在main函数中编写了两行代码输出“hello world”而已。

4) 支持MFC的程序(An application that support MFC):该工程可以支持MFC中的库。

2.编译和运行工程

工程的编译与运行和单文件程序的编译和运行类似。单独运行C语言程序时,如果它只是一个C文件,VC6会为其自动生成工作区(也就是将其编译到工程中)。在工程中,如果存在大量文件,修改其中一个文件时可以只对被修改的文件进行单独编译,而不需要重新编译整个工程,这样可以节省时间。

9