VC6编译与调试.pdf

上传人:灯火****19 文档编号:137169171 上传时间:2020-07-05 格式:PDF 页数:19 大小:498.66KB
返回 下载 相关 举报
VC6编译与调试.pdf_第1页
第1页 / 共19页
VC6编译与调试.pdf_第2页
第2页 / 共19页
VC6编译与调试.pdf_第3页
第3页 / 共19页
VC6编译与调试.pdf_第4页
第4页 / 共19页
VC6编译与调试.pdf_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《VC6编译与调试.pdf》由会员分享,可在线阅读,更多相关《VC6编译与调试.pdf(19页珍藏版)》请在金锄头文库上搜索。

1、1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.应用程序向导应用程序向导应用程序向导应用程序向导 VC6.0 可以创建多种类型的应用程序项目。为了方便用户定制应用程序的具体特征,VC6.0 提供了应用程序向导(AppWizard)。 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1. 常用项目类型常用项目类型 VC6.0 提供的几种常用项目类型有: 常用项目类型表 项目类型备注 ATLCOM AppWizard开发基于活动模版库(ATL)的 COM 组件 DevStudio Add-in Wizard开发 VC6.0 的扩展功能应用 ISAPI E

2、xtension Wizard开发 IIS Web 服务器扩展功能应用 MFC ActiveX ControlWizard开发 ActiveX 控件 MFC AppWizard(dll)开发基于 MFC 的动态链接库(DLL) MFC AppWizard(exe)开发基于 MFC 的应用程序 Win32 Application开发基于 WindowsAPI 的窗口应用 Win32 ConsoleApplication开发基于 WindowsAPI 的控制台应用 Win32 Dynamic-Link Library开发基于 WindowsAPI 的动态链接库(DLL) Win32 Static

3、Library开发基于 WindowsAPI 的静态链接库(LIB) 小提示 1、Console(控制台)和 Win32 是 Windows 操作系统中的两个子系统。Console 子系统用于兼 容执行早期 DOS 程序;Win32 子系统用于可移植的可执行文件格式(PE)的执行 32 位程序。 Windows 操作系统中的绝大多数窗口程序包括 MFC 窗口程序都是在 Win32 子系统下执行。 2、 项目类型表中的 Win32 Application 和 MFC AppWizard 区分开来, 是强调各自基于的图形 界面开发框架不同。Win32Application 强调可直接使用 Wind

4、owsAPI 开发,避免引入复杂庞 大的 MFC 框架, 而 MFC AppWizard 强调可使用 MFC 框架开发, 快速构建稳固的窗口程序。 1.1.1.1.2.1.1.1.1.2.1.1.1.1.2.1.1.1.1.2. 启动应用程序向导启动应用程序向导 依次选择主菜单中的=菜单项,可启动应用程序向导。启动向导之后可以选择 要创建的项目类型。 启动应用程序向导 1.1.1.1.3.1.1.1.1.3.1.1.1.1.3.1.1.1.1.3. 选择项目类型选择项目类型 选择项目类型是应用程序向导的第 1 步。选择标签页,在左侧项目类型列表 中选择合适的项目类型,然后在右侧选择项目路径,输

5、入项目名称,最后单击按钮, 进入项目具体特征的配置。 选择项目类型 小提示 项目名称建议以英文字母组合或汉语拼音组合,不推荐使用中文作为项目名称。 选择项目类型之后,可针对具体的项目类型,进行项目具体特征的定制。不同项目类型需要 定制的具体特征各有不同,后续会针对几种常见的项目类型进行具体说明。 1.1.1.2.1.1.1.2.1.1.1.2.1.1.1.2.控制台项目控制台项目控制台项目控制台项目 ConsoleHelloWorldConsoleHelloWorldConsoleHelloWorldConsoleHelloWorld 1.1.1.2.1.1.1.1.2.1.1.1.1.2.1

6、.1.1.1.2.1. 项目目标项目目标 实现一个用于管理单元格的控制台程序, 先设置单元格的值为字母 A, 然后查看单元格的值。 1.1.1.2.2.1.1.1.2.2.1.1.1.2.2.1.1.1.2.2. 什么是控制台应用程序什么是控制台应用程序 控制台应用程序具有类似如下黑窗口的用户界面,主要靠键盘输入和控制台输出和用户交 互。 控制台应用程序 1.1.1.2.3.1.1.1.2.3.1.1.1.2.3.1.1.1.2.3. 创建控制台项目创建控制台项目 下面以控制台应用程序为例,描述如何使用应用程序向导创建一个控制台应用程序。 1、启动应用程序向导 按照前文所述方法,启动应用程序向

7、导。 2、选择项目类型 按照前文所述方法,选择项目类型为 Win32 Console Application。输入项目名称为 ConsoleHelloWorld,单击按钮,进入控制台应用程序向导。 创建 ConsoleHelloWorld 控制台应用项目 3、选择具体应用类型 选择创建一个典型的 Hello,World 应用程序,单击按钮,完成项目配置,进入项 目信息确认界面。 选择具体应用类型 控制台项目具体应用类型 具体应用类型描述 An empty project没有任何代码的空项目。 Asimple application包含一个空的 main 函数的简单项目。 AHello,worl

8、d application在控制台输出 Hello,World 的简单项目. AnApplication that support s MFC使用了 MFC 的控制台项目。 4、项目信息确认 在项目信息确认界面,确认所显示的项目信息是否正是希望创建的项目,确认正确之 后,单击按钮,完成项目创建,结束应用程序向导。 项目信息确认 1.1.1.2.4.1.1.1.2.4.1.1.1.2.4.1.1.1.2.4. 项目结构项目结构 项目信息确认之后,应用程序向导自动生成了一些代码。 1、物理目录 自动生成的文件 2、文件视图 刚创建的控制台项目,文件视图中只有两个 CPP 文件,一个是 main 函

9、数所在文件,另一个 StdAfx.cpp 是预编译机制所用的源文件。 文件视图 3、类视图 刚创建的控制台项目,没有任何类,只有一个全局函数 main 函数。 类视图 另外,由于此控制台程序中没有使用任何资源,因此没有资源视图。 1.1.1.2.5.1.1.1.2.5.1.1.1.2.5.1.1.1.2.5. 添加和使用类添加和使用类 一个相对独立的功能,可使用一个类来封装和实现,这使项目代码结构清晰的同时,也使相 关功能代码重用更加方便。 1.1.1.2.5.1.1.1.1.2.5.1.1.1.1.2.5.1.1.1.1.2.5.1. 添加一个类添加一个类添加一个类添加一个类 使用 VC+向

10、项目中添加一个类,可按如下步骤进行。以下假定添加一个单元格类 CCell, 一个 char 类型的成员变量 m_cValue 表示单元格的值; 有一个 GetValue 函数用于获取单元格 的值;一个 SetValue 函数用于设置单元格的值。 依次单击菜单项=,打开添加类窗口。 添加类的菜单入口 在添加类窗口中指定类的类型为通用类(Generic),类名这里指定为 CCell,单击按钮, 完成 CCell 类的添加。 添加类窗口 添加完类后,类视图如下: 添加 CCell 类后的类视图 添加完类后,文件视图如下,其中 Cell.h 文件为类的定义文件,Cell.cpp 为类的实现文件。 添加

11、 CCell 类后的文件视图 1.1.1.2.5.2.1.1.1.2.5.2.1.1.1.2.5.2.1.1.1.2.5.2. 添加成员变量添加成员变量添加成员变量添加成员变量 在类视图中,在 CCell 类处单击鼠标右键,打开弹出菜单。 弹出菜单 在弹出菜单中,点击菜单项,打开添加成员变量窗口。下图为添加 m_cValue 成员变量,用于存储单元格的值。 添加成员变量窗口 小提示 成员变量一般设计为私有类型,并且成员变量名一般加 m_前缀。 1.1.1.2.5.3.1.1.1.2.5.3.1.1.1.2.5.3.1.1.1.2.5.3. 添加成员函数添加成员函数添加成员函数添加成员函数 在类

12、视图中,在 CCell 类处单击鼠标右键,打开弹出菜单。 弹出菜单 在弹出菜单中单击菜单项,打开添加成员函数窗口。输入返回值类 型、函数声明,以及访问类型,单击按钮完成成员函数的添加。下图为添加 GetValue 函数,用于获取单元格的值。 添加函数窗口 按照同样的方式,添加 SetValue 函数,用于设置单元格中的值。 添加 SetValue 函数 添加完成员变量和成员函数之后,类视图完整的 CCell 类如下所示: 完整的 CCell 类 实现 GetValue 和 SetValue 函数 char CCell:GetValue() return m_cValue; void CCell

13、:SetValue(char c) m_cValue = c; 实现 GetValue 和 SetValue 函数 1.1.1.2.5.4.1.1.1.2.5.4.1.1.1.2.5.4.1.1.1.2.5.4. 类的使用类的使用类的使用类的使用 在 main 函数中创建一个 CCell 对象,将单元格的值设置为A,然后获取单元格的值, 观察其是否为A。 在 main 函数中编写如下代码: int main(int argc, char* argv) printf(Hello World!n); CCell *pCell = new CCell();/创建 CCell 类的一个对象 pCell

14、-SetValue( A ); /调用 SetValue 方法设置单元格的值 char c = pCell-GetValue();/调用 GetValue 方法获取单元格的值 return 0; 为了编译通过,还需在 main 函数所在 CPP 文件的前面加上以下一行#include 语句。 #include Cell.h/因为使用了 CCell 类,因此需包含 CCell 类的头文件 Cell.h。 1.1.1.3.1.1.1.3.1.1.1.3.1.1.1.3.编译环境介绍编译环境介绍编译环境介绍编译环境介绍 1.1.1.3.1.1.1.1.3.1.1.1.1.3.1.1.1.1.3.1.

15、 编译过程编译过程 单击工具条按钮,在编译窗口查看编译结果。 如下所示,表明编译完全成功,目标 EXE 文件已经成功创建。 编译成功 如下所示,表明存在 102 个编译错误,目标 EXE 文件没有创建。 编译错误 编译小型项目时, 编译过程执行得很迅速, 可能编译结果立即就出来了。 但编译大型项目时, 项目中部分文件长度比较大,或者文件数量比较多,编译过程可能持续进行 30 分钟甚至更 长时间,这时编译过程会变成一个痛苦的等待过程,。如果代码变动所涉及的文件比较单一, 可考虑仅仅单独编译有变动的单个文件,可以大大节省编译时间。 编译单个文件 编译过程中如果出现一些莫名其妙的语法之外的错误, 建

16、议先使用菜单下的 菜单项清除全部编译结果,再使用菜单项完全重新编译整个项目。 1.1.1.3.2.1.1.1.3.2.1.1.1.3.2.1.1.1.3.2. 消除编译错误消除编译错误 最好是在编写代码时就时时注意,降低编译出错的概率。如果无法避免编译出错,那么可以 掌握一些消除编译错误的思路, 避免在出现编译错误尤其是冒出几千个编译错误时出现手足 无措的尴尬局面。 一般来讲,写代码时遇到很多编译错误属于正常情况,千万不要气馁。正确的做法是重点关 注第 1 条编译错误。在输出窗口找到第 1 条编译错误,双击错误信息,源代码编辑窗口定位 会定位到错误所在行。 在控制台项目 ConsoleHelloWorld 中,如果不写最后的#include 语句,编译结果会指出 102 个编译错误。现在开始把这些编译错误逐一消除。下图中 cpp 文件名后紧跟的括号中的数字 表示在编译该 cpp 文件的第多少行时出错。 找到第 1 条编译错误 双击错误信息后,源代码窗口定位的错误所在行代码为: 错误所在行的代码 结合错误信息: ConsoleHelloW

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 外语文库 > 英语学习

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号