1、更多共享就在:http:/ Visual C+ 6.0 环境中建立 Win32 控制台工程 桂林电子科技大学 教学实践部 波仔 2012/3/30 本文主要介绍如何在 Visual C+ 6.0 环境中建立 Win32 控制台工程(Win32 Console Application)。本文适用读者为初步接触 C 语言程序设计的同学。 Visual C+ 6.0 可用于简单的 C 语言程序设计,对于绝大多数初步接触 C 语言程序设计的同学而言,Visual C+ 6.0 虽然其界面友好,但是其功能之强大,以至于对于初次接触该工具的同学而言,往往显得不知所措。 本文除了介绍如何在该工具中建立 Wi
2、n32 控制台工程外,还对在建立其他类型工程,进行 C 语言编译或链接而产生的错误进行了简要介绍。主要目的还是侧重于同学们对于 Visual C+ 6.0 工具的简要了解。 在阅读下述文章前,你应该在你的电脑上正确的安装了 Visual C+ 6.0 开发工具。在本文中,所有内容介绍均基于英文版 Visual C+ 6.0 。 通过开始菜单或桌面快捷方式,可打开 Visual C+ + 6.0 开发工具。图 1 所示为 Visual C+ 6.0 开发工具的界面。 Visual C+ 6.0 开发工具界面可划分为如下几个区域: 菜单栏:菜单栏包含所有能进行操作的功能,包括建立项目工程,对源代码
3、编辑、格式化,对开发项目进行调试、配置等功能,以及对 VC 集成开发环境进行配置等功能; 工具栏:工具栏( 又可细分为编辑工具栏,编译工具栏) 主要包含便于项目开发人员对项目代码进行编辑、编译及调试等功能; 工程空间(亦可称工作空间):工作空间视图区包含了显示与当前活动工作空间(Active Workspace) 相关的类(C+ 中的内容,可不做了解) 、文件(Files ,包括源文件和头文件等) 、资源(Resources) 等组织视图,方便项目开发者组织及管理当前活动工作空间。 代码编辑区:代码编辑区是进行 C 语言( 也可以是其他语言) 源程序输入的区域,它是一个多文件视图区,可对多个源
4、程序进行编辑。 输出窗口:输出窗口在项目开发者进行编译、链接操作时提示其操作结果,如果在上述两个操作中发现错误( 包括编译错误、链接错误) ,编译系统会在该窗口中给出错误的具体信息,以便于项目开发人员进行修改。 注:以上对于各窗口或菜单的命名均是本人根据其英文原意翻译而来,并不能保证该工具中文版中相应窗口或菜单的中文翻译一致。 图 1 Visual C+ 6.0 开发工具界面 在启动 Visual C+ 6.0 后,其代码编辑区、工作空间等均处于灰色、不可用状态,如图 2 所示。 用 Visual C+ 6.0 进行 C 语言程序设计,首先需要建立一个 C 语言程序设计的工程,在 Visual
5、 C+ 6.0 中 Win32 Console Application(在本文中 Win32 Console Application 、Win32 控制台程序( 工程) 、Win32 命令行程序 ( 工程)均为相同工程,在本文中不再进行区分,请同学们注意) 类型非常适合进行纯 C 语言程序设计( 纯C 语言程序设计指在使用 Visual C+ 6.0 时,只要掌握 C 语言的语法规则就能进行C 语言程序设计,并且不依赖于与 Windows 程序设计相关知识,关于 Windows程序设计,同学们可以查阅相关资料,在此不再对其进行介绍) 。 通过菜单栏“File”菜单中的“New ”子菜单,可调出
6、创建工程所需的窗口界面( 亦可通过快捷键 Ctrl+ N 调出该窗口) ,如图 3 所示。在调出的创建工程窗口中,包含四个标签页(Label) ,它们分别为 Files(中文版 Visual C+ 6.0 可能为文件) 标签页、Projects( 中文版 Visual C+ 6.0 可能为为工程) 标签页、Workspaces 标签页、Other Documents 标签页。这四个标签页分别包含可用于创建的文件或工程或文档的类型,其中与本文介绍内容相关的标签页包括 Files 标签页、Projects标签页。 图 2 Visual C+ 6.0 开发工具初始界面 Projects 标签页包含了
7、,用 Visual C+ 6.0 能进行开发的工程或程序类型。在图 3 中,我们选择新建 Win32 Console Application 。需要用鼠标选择“Win32 Console Application ”列表项,选中后,该列表项背景会被蓝色高亮显示,如图 3 所示。 选中“Win32 Console Application ”列表项后,需要在 Project Name 文本框中,输入需要新建的工程名,这里假设对该工程命名为 Project_1 。 在 Location 文本框中,需要选择新建的 Project_1 工程所要保存在计算机磁盘中的相应位置,默认不改变则会被保存至 Visu
8、al C+ 6.0 安装目录中的MyProjects 目录中( 假设在你的电脑中 Visual C+ 6.0 被默认安装至 C 盘, 则 Visual C+ 6.0 安装目录应该为:C: Program Files Microsoft Visual Studio,则工程会被默认保存至:C: Program Files Microsoft Visual Studio MyProjects目录下,初学者常常忘了修改工程保存的路径,因此常出现退出 Visual C+ 6.0 后,在计算机磁盘中找不到其新建的工程对应的目录,这时不妨在上述默认目录下查找) 。 在对工程进行命名及选择工程的保存路径后,可
9、点击 OK 按钮进行确认。 图 3 Visual C+ 6.0 新建工程窗口 点击新建工程窗口中的 OK 按钮后,会弹出如图 4 所示的工程类型选择窗口。该窗口提示开发者可选择创建的控制台应用程序的类型。包括 An empty project、A simple application、A “ Hello, World! ” application 以及 An application that supports MFC 四个类型。值得注意的是,这四个类型的工程是对于控制台工程而言,其中有何不同,同学们可以查阅相关资料,在此不再进行介绍。在该类型选择窗口中,需要选择第一项 An empty pro
10、ject。选择后,点击 Finish,则会弹出如图 5 所示的确认窗口。 图 4 新建工程类型选择窗口 信息确认窗口,主要列举了开发者创建工程的类型的详细信息,以便开发者确认创建工程过程是否出现错误( 例如是否工程类型是否选择正确等) 。在本文中,我们创建了 Win32 Console Application,并选择了 An empty project。因此在信息确认窗口列举了,所要创建的工程的信息。点击 OK 按钮,则可完成新建 Win32 Console Application 的所有步骤。这时, Visual C+ 6.0 开发工具界面如图 6 所示。 图 5 新建工程信息确认窗口 请仔
11、细观察图 6 与图 2 及图 1 的区别。请注意与图 2 不同之处在于,图 6表示的是在新建一个 Win32 Console Application 后,图 6 中所示的工程空间( 工作空间) 、编译工具栏均处于可用状态。工作空间出现两个标签页,一个为ClassView(类视图) 标签页、一个为 FileView( 文件视图)标签页。ClassView 标签页显示与该新建工程( 在本文中是 Project_1)相关的类信息(C+ 相关知识) 、函数信息等内容;FileView 标签页则显示与新建工程相关的文件信息,包括 Source Files(源文件) 、Header Files(头文件)
12、、Resource Files(资源文件、与纯 C 语言程序设计无太多联系,不再过多介绍) 等信息。与工作空间可用状态类似,编译工具栏也处于可用状态。然而,如果试图编译该工程则不会得到任何有效输出( 这里指的“输出”是指编译及连接过程的输出,具体而言,指生成可执行目标代码) 。然而与图 1 相比较,在图 6 中,其代码编辑区仍然不可用。因此这需要新建一个 C 源文件。 图 6 新建工程后的 Visual C+ 6.0 开发工具界面 在介绍如何新建 C 源文件前,有必要解释下在上述步骤中建立的 Win32 Console Application 所对应的工程目录中包含的相应文件。在上述步骤中,如
13、图 3所示,建立新工程时,曾使用 Project_1 对其进行命名。此外,该新建工程的保存路径,在本例中为:E: xgqin2010-2011C_Project_Experiment_Asource_code( 注意路径不区分大小写) 。Visual C+ 6.0 在新建一个工程后,会在其所指定保存的路径中以该工程名在新建一个文件夹。而与该工程相关的文件则会保存至该文件夹中。 图 7 工程建立后在计算机磁盘中所对应的目录 进入以新建的工程名进行命名的文件夹后,如图 8 所示,可发现存在以下几个文件和目录: Project_1.dsp 文件:这是一个文本格式的文件( 你可以使用记事本等软件打开,
14、但建议不要这样做,不要对这个文件进行更改) ,其主要包含于该工程相关的编译链接等信息; Project_1.dsw 文件:V isual C + 6.0 开发环境生成的 WorkSpace 文件,用来把多个工程组织到一个 WorkSpace 中。可以在文件管理器中双击该文件,则可启动 V isual C+ 6.0,并在 Visual C+6.0 中打开该工程; Project_1.ncb 文件:NCB 是“No Compile Browser” 的缩写,其中存放了供ClassView、WizardBar 和 Component Gallery 使用的信息,由 VC 开发环境自动生成。无编译浏览
15、文件。当自动完成功能出问题时可删除该文件。编译工程后会自动生成。 Project_1.opt 文件:V isual C + 6.0 开发环境自动生成的用来存放 WorkSpace中各种选项的文件。工程关于开发环境的参数文件。如工具条位置信息等。 Debug 目录:用于存放以 Debug 模式进行编译的中间文件、目标文件以及可执行代码等相关文件信息。 注:以上描述参考了 http:/ 图 8 Visual C+ 6.0 创建工程时所创建的与工程相关的文件 为了能进行 C 源代码编辑,还需在新建的工程中创建一个 C 源文件。要新建一个 C 源文件可选择“File”菜单的 “New ”子菜单,这时会
16、弹出新建文件窗口,如图 9 所示。 图 9 Visual C+ 6.0 新建文件窗口 Visual C+ 6.0 新建文件窗口与其新建工程窗口为同一窗口,只不过新建文件时选择的是“Files ”标签页,而新建工程时则是选择的是“Projects”标签页。在调出新建文件窗口后,需要选择要新建的文件类型,这时选择“C+ Source File”。选中后该项会被蓝色背景高亮显示。请把“Add to project ”选项框选中,这样会将需要新建的 C 源文件加入到你的工程中,否则新建的文件不会在你的工程中显示。在“File”文件名编辑框内,输入需要新建的文件名,在图 9 中,以 main对该 C 文
17、件进行命名。 “Location ”编辑框内可不做修改,默认将会把新建的 C源文件保存至该工程的目录中。所有选项设置好后,单击“OK”按钮则可完成 C源文件的新建( 新建操作完成后,可观察工程所在目录,看是否有以 main 进行命名的文件,注意该文件的后缀名默认为.CPP ,这时 C+(C Plus Plus)源文件的缩写) 。这时 Visual C+ 6.0 开发工具界面显示如图 10 所示。 在完成 C 源程序编辑后,可进行 C 源程序的编译和链接操作。此时需要认识与编译和链接相关的菜单或工具栏,如图 11 所示为进行 C 源程序的编译和链接所涉及的菜单和工具栏。 图 10 完成建立工程及
18、 C 源文件后 Visual C+6.0 开发工具所呈现的界面 首先介绍“Build”( 编译链接) 菜单,该菜单经常使用的子菜单包括如下所示: Compile *.cpp:Comile(编译) 菜单,负责编译当前源文件。在本例中,如果点击该子菜单,则将编译 main.cpp 文件。注意将一个源文件编译后将生成与其对应的目标文件( 或称为中间文件、 Intermediate File 、亦即 obj 文件) ,目标文件不可运行。此外还可通过快捷键 Ctrl + F7 直接调用该编译功能; Build *.exe:Build( 组建) 菜单,负责将当前工程中所有相关文件 ( 包含 C 源文件、H
19、 头文件等) ,经过编译、链接等过程生成以工程名进行命名的可执行代码( 亦即 exe 文件) 。注意该菜单包含了 Compile ( 编译)操作,但如果在调用该菜单前,先调用了 Compile( 编译) 菜单,则该菜单仅仅会执行链接操作。 Rebuild All:Rebuild All( 重编译) 菜单,将首先清除已存在的编译和链接过程的输出( 亦即 obj 及 exe 等文件) ,然后重新执行编译链接等操作; Clean:Clean( 清除) 菜单,将把已存在已存在的编译和链接过程的输出( 亦即obj 及 exe 等文件) 清除; Start Debug :Start Debug(开始调试)
20、 菜单,用于程序的调试,将会在后续内容中详细介绍; Execute *.exe :Execute( 执行) 菜单,在编译链接操作成功后,可执行编译链接输出的 exe 程序。其中*表示当前工程名。 注:以上与编译链接相关的输出文件均保存于 Debug 目录下。 图 11 与编译链接相关的菜单和工具栏 除了可在“Build”菜单中调用相应子菜单对工程进行编译链接等操作外,还可使用编译工具栏中的“Build MiniBar ”( 编译微型栏) 对工程进行编译链接。如图 11 所示,下面列举该编译微型栏的相关工具按钮( 从左至右) : Compile:编译工具按钮,与 “Build”菜单中的“Comp
21、ile *.cpp ”子菜单相同功能,可通过快捷键 Ctrl + F7 调用; Build:组建工具按钮,与“Build”菜单中的“Build *.exe”子菜单相同功能,可通过快捷键 F7 调用; Stop Build:停止组建工具按钮,可用于停止当前正在进行组建的操作,不经常使用; Execute Program :执行程序工具按钮,与“Build”菜单中的“Execute *.exe ”子菜单相同功能,可通过快捷键 Ctrl + F5 调用; Go:执行工具按钮,在源程序没有设置 Breakpoint ( 断点)的情况下,与 Execute Program工具按钮具有相同功能;如果源程序
22、设置了断点,则会开始调试程序;将会在后续内容中详细介绍; Insert/Remove Breakpoint :插入、删除断点,用于在源程序中插入或删除断点,用于程序的调试,将会在后续内容中详细介绍,可通过快捷键 F9 调用; 注:如果在工具栏中找不到编译微型栏,一般情况是该编译微型栏被关闭,可在工具栏右侧空白处,右击鼠标,在弹出的菜单中,选择“Build MiniBar ”即可将该微型栏显示在工具栏中。 介绍了与编译链接相关的菜单和工具栏后,在已新建的工程中以一个简单的C 程序作为例子,简要介绍编译和链接过程。 表 1 简单的 Hello world 源程序 /* 程序中不要用中文,以免不能正
23、常现显示,程序运行后,按任意键退出 HELLO.C - 在屏幕输出 Hello, world 字符串*/ #include “stdio.h“ /* 包含输入输出标注库函数*/ #include “conio.h“ /* 使用 getch() 函数,需要包含该头文件*/ int main() printf(“Hello, world n“); getch(); /* 功能是停留在显示界面,按任意键后就退出运行状态 */ return 0; 在代码编辑区内输入表 1 中的代码,并单击编译微型栏中的“Compile”( 编译) 工具按钮后,编译输出信息会在输出窗口中显示,如图 12 所示。如果源代
24、码存在语法错误,则在编译输出信息中会给出,否则会显示如图 12 中输出窗口中的内容。图 12 中的编译输出信息表明,Visual C+ 6.0 成功将 main.cpp 源程序编译为 main.obj 目标文件,整个编译操作没有发现 main.cpp 源文件存在语法错误或警告( 语法错误指违反 C 语言语法规则,警告则可能是由于类型转换或变量为初始化所可能引发的“错误”) 。 如果经过编译操作后,Visual C+6.0 没有提示存在语法错误或警告,则可单击编译微型栏中的“Build”( 组建)工具按钮,对当前工程( 即 Project_1 ) 进行组建操作( 若在进行组建操作前,进行了编译操
25、作,则组建操作仅包含链接操作) 。单击组建操作后,在输出窗口会给出组建操作输出的具体信息,如图 13 所示。输出窗口给出组建操作的输出信息,表明组建操作仅仅进行了链接操作,且其整个操作过程没有发现错误或警告,输出产物为以工程名进行命名的可执行文件Project_1.exe。 在成功进行编译和组建操作后,Visual C+ 6.0 已成功将新建的 Win32 Console Application 工程 Project_1 生成 Project_1.exe 可执行文件。这时,可运行该可执行文件,以判断程序运行是否符合预期要求。要运行该 Project_1.exe 程序可在 Visual C+ 6
26、.0 中单击组建微型栏中的“Execute”工具按钮 ( 即红色叹号) 或使用快捷键 Ctrl + F5。运行结果如图 14 所示。 图 12 输出窗口中显示的编译操作输出信息 图 13 输出窗口中显示的组建操作输出信息 除了可在 Visual C+ 6.0 环境中运行生成的 Project_1.exe 可执行文件外,还可在工程目录的 Debug 子目录下直接双击运行该文件,如图 15 所示。 图 14 执行编译链接成功后的 Project_1.exe 图 15 在工程所在目录 Debug 子目录下直接运行 Project_1.exe 本文主要介绍了如何在 Visual C+ 6.0 环境中新建 Win32 Console Application工程进行 C 语言程序设计的步骤。通过本文介绍,读者应能基本掌握使用 Visual C+ 6.0 进行简单 C 语言程序的设计。