1.5.3 在Visual C++ 6.0环境中开发C++程序
1. 创建项目
在VC 6.0(Visual C++ 6.0)中,以工作空间(Workspace)来管理项目(Project),一个工作空间中可以包含一到多个相互关联的项目,一个 C++项目是多个相互关联的 C++源文件及其他资源的集合。通常一个项目的代码文件放在一个物理目录下。在VC 6.0的主界面中执行“File”→“New”菜单命令或按【Ctrl+N】组合键,进入创建新项目的向导,首先要确定项目的类型、名称和位置等信息,如图1.2所示。
图1.2 输入项目信息
● 在Projects选项卡中,选中项目类型为“Win 32 Console Application”。
● 在Project name文本框中输入项目名。
在Location文本框中输入项目的位置。
VC 6.0会在Location指定的目录内创建一个与项目同名的子目录,本项目的所有代码默认都放到该目录内。
● 选中“Create new workspace”单选按钮,表示要创建新的工作空间。
● 单击【OK】按钮,弹出如图1.3所示的向导对话框,用来确定框架代码的组成。
图1.3 向导对话框
在图 1.3 中,自动生成源代码选项组中的每个选项都可以控制 VC6.0 自动生成一些不同的框架性源代码。用户可以自行选择不同的选项,观察最后生成的代码有何不同。现在选中“A simple application”单选按钮,单击【Finish】按钮。项目目录和代码创建完毕,结果如图1.4所示。
图1.4 项目创建完毕
在主工作区可以看到,VC 6.0自动生成的源代码被保存在example01.cpp文件中,文件名在标题栏中可以看到。代码中#include"stdafx.h"是 VC 6.0 自动添加的,对程序没有影响,但是不要删除。这时可以向程序中添加自己的代码。
2. 编辑源代码
将以下代码输入到编辑区,覆盖main函数,注意保留#include"stdafx.h",如图1.5所示。
图1.5 编辑源程序
打开图1.5中的ClassView选项卡,显示项目中所有的函数列表。双击某函数名, VC 6.0将在编辑区把该函数所在的源文件打开,并显示在最上面,成为活动源文件,同时定位到该函数,以便修改。
include<iostream> //引入标准库输入/输出头文件 using namespace std; //使用std名称空间 int main( ) { cout << "您好,这是C++编辑环境!"; cout << "您成功地运用了C++编辑环境!"; return 0; }
打开图 1.5 中的 FileView 选项卡,将显示工作空间、工作空间中所包含的所有项目以及每个项目中包含的源文件和头文件的列表。双击某个文件,VC 6.0将在编辑区把该函数所在源文件打开,并显示在最上面,成为活动源文件,同时定位到上次访问的位置。
3. 编译源程序
打开FileView选项卡,双击StdAfx.cpp文件,将其设置为编辑区中的活动源文件,执行“Build”→“Compile StdAfx.cpp”菜单命令,如图1.6所示。
图1.6 编译源程序
VC 6.0将自动编译编辑区内的活动源文件StdAfx.cpp。Compile菜单项中后面的文件名是指当前的活动源文件,当活动源文件不同时,Compile后面的文件名是不同的。也可以直接按快捷键【Ctrl+F7】(按住【Ctrl】键不放,再按【F7】键)来完成编译。使用同样的方法完成example01.cpp文件的编译。
4. 创建可执行文件
执行“Build”→“Build example01.exe”菜单命令,VC 6.0自动连接所有的目标文件,生成可执行文件。若发现有某个文件没有被编译生成目标文件,或自从上次编译后,源文件被修改,则立即重新编译该文件。因此,在 VC 6.0 中也可以不必使用组合键【Ctrl+F7】来分别编译每个源文件,只要使用功能键【F7】就可以让VC 6.0自动编译所用源文件并连接生成可执行文件。只在需要具体观察某个文件的编译信息时,才使用【Ctrl+F7】组合键编译具体的源程序。
5. 运行程序
在编辑和连接完成后,可以执行“Build”→“Execute”菜单命令,或按组合键【Ctrl+F5】来运行程序。VC 6.0会自动将example01.exe加载到内存中运行。若VC 6.0发现上次编译和连接操作后源文件被修改过,则自动编译被修改的源文件并重新连接所有的目标文件生成可执行文件,最后运行。
6. 调试程序
程序在开发过程中,不可能一次性编写出正确的程序,需要反复地调试。VC 6.0提供了一些功能来帮助程序员在开发过程中调试程序,常用的调试手段有设置断点和运行时查看变量值。
(1)设置断点。将光标移动到某行上按【F9】键,可以在该行上设置断点。被设置了断点的行前面出现一个红色圆点,如图1.7所示,反复按【F9】键可以在设置断点和取消断点之间切换。
图1.7 设置断点
设置断点后,按【F5】键(注意不能按【Ctrl+F5】组合键)进入调试状态运行,运行到断点处程序会暂时中断。要注意,此时被设置断点的行的指令还没有被计算机执行。
接下来根据不同的操作,VC 6.0将做不同的处理。
● 若按【F5】键,则程序运行到下一个断点处中断;若没有断点,则程序将一直运行。
● 若按【F10】键,则单步运行,即每按一次【F10】键执行一条语句,然后程序再次中断。
● 若按【F11】键,则进入函数体内执行。通常,在调用函数时,若发现函数的返回值与预期的不同,则可能函数体内的代码有错误,此时,可以按【F11】键进入函数体进行调试。
其他的调试指令可以在程序进入到调试运行状态时,查看Debug菜单下的各子菜单项,Debug菜单只有在调试状态下才可以看到。
(2)运行时查看变量的值。在程序运行过程中,分析和查看变量的值可以帮助程序员了解程序中数据的动态变化过程。查看变量的值有 3 种常用的方法:直接查看、利用Watch窗口和使用cout输出。
● 直接查看:在调试状态下运行时,若程序中断,将光标移动到某个变量上,则会出现一个提示标签,显示该变量的当前值。
● 利用Watch窗口:执行“View”→“Debug Window→Watch”菜单命令,出现如图1.8所示的Watch窗口。在Name列输入变量名即可在Value列中显示该变量的当前值,这个显示值在程序运行过程中,将随着变量值的变化而变化。
图1.8 Watch窗口
● 使用cout输出:在程序中通过cout语句来输出变量的值。