在Visual C++ 6.0下编译调试简单C程序简单过程
来源:互联网 发布:北京java程序员 编辑:程序博客网 时间:2024/06/04 18:59
第一步,启动 Microsoft Visual C++ 6.0
启动 VC 可以通过“开始”菜单,也可以通过桌面快捷方式,或者 Quick Launch 工具栏等方式。
启动之后,我们看到的是空白的 VC 开发环境。
虽然上面的截图是英文版的 VC,但是其中的菜单、窗口都和中文版的一一对应。
跟大多数的 Windows 应用程序一样,VC 最上面是菜单,然后是工具栏,中央是工作区,最下面一行是状态栏。我们现在看到的工作区,左边是 Workspace 窗口,右边是灰底的空白窗口。
第二步,创建一个工程
在 VC 中,一个源程序文件必须属于一个工程;所以我们首先来创建一个工程。
选择菜单:
File --> New...
打开下面窗口:
在 Projects Tab 页面中,我们看到可以创建许多种类型的工程;并且可以指定工程的名字,和存储位置。
事实上如果要开发简单的 C 语言程序,我们只需要创建一种工程:Win32 Console Application,也就是 Windows 32 控制台程序,或者俗称“黑屏”程序。我们进行如下设置:
顺序 选项 操作 说明
1 工程类型 选择"Win32 Console Application"
2 Location C:/TEST/ 作为例子,我们暂且把该演示程序保存在 C 盘根目录下面的 TEST 文件夹中。如果该文件夹不存在,您需要首先创建它。
该选项不需要手工输入,您可以单击在 “Locaction” 右下方的 “...” 按钮,来选择该文件夹。
注意:
虽然上面的截屏上显示的是 "C:/Test/DemoQuestion",但那是完成了第 3 步之后的结果。在这一步,只需要输入“C:/TEST/”。
3 Project name 输入:"DemoQuestion" 随着 Project Name 的输入,Location 部分将在原来路径的后面自动加入 Project Name。
4 完成 点击"OK"按钮
第三步,修改新工程的配置
作为 Win32 Console Application 类型的程序,只有一个配置界面,如下面所示。如果选择其他类型的应用程序,可能会有多个配置界面。
在这里我们选择第一个选项,也就是默认选项:
An empty project. (一个空的工程)
然后选择完成。点击:
Finish (完成)
按钮。
我们的这个选项将创建一个空的工程;其他的选项将自动生成一些源代码文件。就计算机等级考试的要求来说,VC 自动生成的源代码文件对于我们没有帮助。
第四步,确认创建新工程
下面窗口显示出我们此前所做的配置,以供我们做最后的检查。如果确认无误,该项目就将被创建。
我们确认该页面显示的内容都是正确的。点击:
OK (确认)
按钮,创建该项目。
第五步,创建新工程完毕
VC 会根据我们所填写的配置创建相关的文件夹,创建完成后会显示创建的结果,如下图所示。
在窗口的左半部分的 workspace 上,我们可以看到有两个 Tab 页,ClassView 和 FileView。 ClassView 页面会显示当前工程中所声明的类、全局变量等;对于写C语言程序来说,这个页面没有什么大的作用。 FileView 页面显示了当前项目中的所有文件。
1. 工程
我们看到,VC 创建了一个叫做 "DemoQuestion" 的工程。左边树型结构中的 "DemoQuestion files" 节点代表了该工程。
2. 文件和逻辑文件夹
在该工程下面,我们发现了三个预定义的逻辑文件夹,分别是:"Source Files"、"Header Files"、"Resource Files"。在每一个文件夹下面,都没有文件;这是因为此前我们选择的是创建一个空的工程。这三个文件夹是 VC 预先定义的,就编写简单的单一源文件的C程序而言,我们只需要使用 Source Files 一个文件夹就够了。
事实上这三个文件夹是按照里面所存放的文件类型来定义的,如下表所示:
预定义文件夹 包含的文件类型
Source Files cpp;c;cxx;rc;def;r;odl;idl;hpj;bat
Header Files h;hpp;hxx;hm;inl
Resource Files ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe
我们之所以称这三个文件夹为逻辑文件夹,是因为他们只是在工程的配置文件中定义的,在磁盘上并没有物理地存在这三个文件夹。
我们也可以删除自己不使用的逻辑文件夹;或者根据我们项目的需要,创建新的逻辑文件夹,来组织工程文件。
3. Workspace 工作空间
在创建 DemoProject 的同时,VC 也创建了一个叫做 "DemoQuestion" 的工作空间,并且该工作空间只包含一个工程。如节点 "Workspace 'DemoProject': 1 project(s)" 所示。
如果您不想深究的话,只要了解下面几点就可以了:
VC 是按照 Workspace 来管理项目和代码的。一次必须打开一个 Workspace。
一个 Workspace 中可以包含一个或者多个工程。
一个工程可以包含一个或者多个逻辑文件夹。
一个文件夹里面可以包含零个或者多个文件。
一个工程至少包含一个源代码文件。
当创建新工程的时候,一个同名的 Workspace 同时被创建;该 workspace 只包含一个项目,就是新创建的这个项目。
或者稍稍详细一点说,VC 在管理项目和代码的时候,是按照如下一个树型的结构来组织的:
Workspace
Project 1 (项目 1)
Heaer files (一个或者多个头文件)
Source files (一个或者多个源代码文件)
Other files (一个或者多个其他文件)
Project 2 (项目 2)
Heaer files (一个或者多个头文件)
Source files (一个或者多个源代码文件)
Other files (一个或者多个其他文件)
第六步,查看物理文件夹
打开 Windows 资源管理器,定位到 C:/Test/DemoQuestion 目录,我们可以看到如下文件和文件夹:
下面是这些文件和文件夹的简单说明:
文件和文件夹 说明
文件 DemoQuestion.dsw 这是 workspace 描述文件。
文件 DemoQuestion.dsp 这是 DemoQuestion 项目配置文件。包括逻辑文件夹在内的关于该项目的所有配置,都保存在此文件中。
文件 DemoQuestion.ncb 这是 VC 内部使用的一个临时文件。我们不必关心此文件。
文件夹 Debug Debug 版本的编译输出文件将被保存在该文件夹中。如果项目的编译属性修改为 Release 之后,会生成另外一个叫做 "Release" 的文件夹。
关于 Debug 和 Release,这是两个最常见的编译选项。相同源代码生成的 Debug 版本的 .exe 文件比 Release 版本要大一些,因为 Debug 版本多包含了一些帮助 VC 调试程序的符号等信息。
回到目录
添加一个文件到一个空的工程中
在上面一步,我们创建了一个空的工程。现在我们将添加一个源代码程序到该工程中。
第一步,创建新的 .c 源文件
选择菜单:
File --> New...
打开下面窗口:
在 Files Tab 页面中,进行如下操作:
顺序 选项 操作 说明
1 文件类型 选择"C++ Source File" 因为这里没有 C Source File 选项,所以我们选择 C++ 语言的对应项。
2 File 输入:Question.c 实际上文件名叫做什么并不重要,作为演示目的,我们称其为 Question,因为在考场上,我们是在回答别人预设好的问题。
注意:Question.c 后面的 ".c" 后缀是必要的。如果是要创建 .cpp 文件,该后缀就可以不写了。
3 Location 保持默认值,不需要修改。
4 完成 点击"OK"按钮
第二步,查看源文件
当该 .c 源文件创建后,在左边 Workspace 窗口窗口的 FileView Tab 页面中,可以看到该新创建的 Question.c 节点。
在 Windows 资源管理器中,我们也可以发现该文件被物理地创建了。
回到目录
编写程序
第一步,编写源代码
作为例子,我们编写了一个输出 "Hello World" 的程序。该程序将连续输出 10 遍该字符串,并且在每一次输出前首先打印一个序号。
在考试环境,或者实际开发工作中,有可能是基于别人写到一半,或者已经写好的代码进行修改。
第二步,打开“编译”工具栏
这一步并非是必要的。如果编译工具栏已经打开,或者您决定通过菜单而不是工具来进行操作,并没有必要打开工具栏。菜单命令和工具栏快捷按钮一般是可以替代的。
使用鼠标右键单击工具栏的空白处,在弹出的菜单中选中“Build(编译)”一项,就可以打开编译工具栏。
在该工具栏中,我们可以选择"Debug"模式,或者"Release"模式进行编译。在调试程序的过程中,我们一般选择 Debug 模式。
第三步,编译
我们可以通过菜单或者工具栏按钮进行编译。
如果使用菜单,可以选择:
Build --> Build DemoQuestion.exe F7
或者:
Build --> Rebuild All
如果使用工具栏,可以选择如下图中的按钮:
如果编译完全成功,会显示 "0 error(s), 0 warning(s)"。另外,即便有一些 warning,也可能编译成功。Warning 表示该代码应该不会影响程序运行,但是有可能存在潜在的问题,编译器不推荐这么写。
第四步,除错
一般情况下,代码在编写过程中必然会发生各种错误。编译器检查出来的错误会被显示在 VC 6.0 环境的 Build 窗口。
如下图所示,编译器提示:在Question.c的第10行,发生了 C2065 错误,变量 j 从没有被声明就被使用了。
我们发现上面的错误是因为误把 i 写成了 j,只要改回来,这个错误就被修改好了。
回到目录
运行程序
我们至少有两种方法运行一个控制台类型的 C 程序。一种是通过工具栏,一种是通过命令行。
第一种,工具栏
单击 Build 工具栏中的红色感叹号按钮,就可以运行一个编译好的程序:
如果该程序在上一次被编译后又被修改,下面窗口将会弹出,问我们是否要把最新的代码重新编译。我们一般都选择 "Yes"。
随后该程序就会在一个新弹出的窗口中被运行。
第二种,命令行
下面显示了命令行运行该程序的方法。我们首先切换到编译好的程序所在的目录,然后输入该程序的名字就可以运行。
在本例中,我们输入的是 DemoQuestion.exe。后面的 .exe 可以输入,也可以运行该程序。
在上面例子中,主要用到了两个命令:cd 和 dir 。
cd 命令用于进入目录,是 Come to Directory 的缩写。简单的,有三种情况:
"cd [目录名]" : 进入目录 "目录名"。
"cd /" : 回到根目录。
"cd .." : 回到上一层目录。两个点 ".." 代表父目录,也就是上一层目录。
dir 命令可以显示当前目录下所有的文件和文件夹,是 DIRectory 的缩写。
回到目录
调试程序 - 设置断点
设置断点是跟踪程序实际运行流程的最好方法。在 Debug 模式下,程序可以再断点处停止,我们可以让程序单步执行,来确认程序是否在按照我们所预想的方式在运行。
第一步,设置断点
将鼠标停留在要被暂停的那一行,选择工具栏按钮 "Insert/Remove Breakpoint (F9)",就可以添加一个断点。如果该行已经被设置了断电,那么该断点会被删除。
第二步,开始调试
如下图所示,选择菜单 "Go (F5)",就可以开始调试程序。
VC 环境会进入调试模式,并且目标程序会在断点处被暂停。
第三步,单步运行
选择菜单或者工具栏的 "Step Over (F10)" 按钮,可以进行程序单步运行。不断选择 "F10",程序会一步一步地被执行。
回到目录
调试程序 - 动态察看变量的值
单步调试程序的过程中,我们可以在 Watch 窗口中动态地察看变量的值。
第一种,自动查看
在 Variables 子窗口中会自动显示当前运行上下文中的变量的值。
第二种,添加变量到 Watch 列表
如果本地变量比较多,自动显示的窗口比较混乱,您可以在 Watch 列表中添加自己想要监控的变量名。例如,下图中我们在 Watch1 子窗口中添加了变量 "i":
添加结束后,该变量的值会被显示出来。并且随着单步调试的进行,我们会看到变量 i 的值逐渐递增。
- 在Visual C++ 6.0下编译调试简单C程序简单过程
- linux下编译C程序——gdb简单调试
- Linux下的简单C程序gcc编译、gdb调试。
- linux下C/C++程序简单调试
- 调试C的简单过程,查找编译通过之后的程序错误
- c简单编译过程(vs2010)
- 在Visual Studio 2010下编译C语言程序
- 在visual studio 2008下编译C程序
- Linux下C语言程序简单的编写和调试
- Ubuntu12.04下gdb调试C语言简单程序详解
- 在Linux下简单编写、编译并执行一个C语言程序
- Windows下Visual Studio Code编译调试c的过程及配置
- 如何在visual c++ 6.0下调试c语言
- C/C++编译过程简单理解
- Linux 下 C程序编译与调试
- 在linux下执行一个简单的C程序
- Linux下C程序编译过程
- linux下c程序的编译过程
- IP改变导致Oralce 10g Enterprise Manager 无法启动----解决办法
- 无法开网页但可以上qq的解决方法
- 如何系统的学习linux
- windows xp下 glassfish安装及部署
- JAVA可执行文件的制作
- 在Visual C++ 6.0下编译调试简单C程序简单过程
- C#日期格式化
- 十字链表 邻接表实现各种操作
- 计算两个经纬度点间的距离
- hibernate annotation方式配置实体关联关系,解决关联外键数据不存在时抛出异常的问题
- Flex自动化功能测试工具
- 一个不可多得的牛人博客
- Gmail转正了
- 《鬼谷子》捭阖第一