设为首页 加入收藏

TOP

3.2.3 Visual C++工程文件的组成
2013-10-06 23:57:32 来源: 作者: 【 】 浏览:73
Tags:3.2.3 Visual 工程 文件 组成
3.2.3  Visual C++(www.cppentry.com)工程文件的组成
在用AppWizard创建的工程中包含了框架程序所有的类、全局变量的声明和定义。如果用Windows资源管理器查看AppWizard工具自动创建的工作目录,可以发现该目录下会生成十几个文件和两个目录,其中res目录用于存放工程的资源文件。Debug目录用于存放编译、连接时产生的中间文件。
在Visual C++(www.cppentry.com)中,一个工程文件可以产生两种不同版本的可执行程序:Debug版本和Release版本。其中Debug版本中包含用于调试的信息和代码。而Release版本中由于不包含调试信息,所以不能进行调试,但其最终产生的文件更小。
根据选项设置的不同,AppWizard所创建的文件会略有不同。标准的AppWizard文件包括下面几个部分:
工作区文件和项目文件;
应用程序源文件和头文件;
资源文件;
预编译文件。
AppWizard所创建的文件可以在指定的工程路径下找到,每一种文件都有自己明确的作用,下面我们来分别介绍这些文件的作用。
1.工作区文件和项目文件
工作区文件和项目区文件主要是用于保存和更新工作区和项目信息,以及相关信息等,主要包括下面几个文件。
(1)TestMFC.dsw:这是MFC自动生成的工作区文件,它包含当前工作区中的项目信息。
(2)TestMFC.dsp:这是MFC生成的项目文件,它包含当前项目的设置、所包含的文件等信息。
(3)TestMFC.clw:此文件包含ClassWizard中用来编辑的现有类或增加新类的信息。ClassWizard还用这个文件来保存创建和编辑消息映射和对话框数据所需的信息,或是创建虚拟成员函数所需的信息。
2.应用程序源文件和头文件
根据应用程序的类型——单文档、多文档或基于对话框的类型,AppWizard将创建下述应用程序源文件和头文件中的某些文件,这些文件是工程的主体,负责主框架、文档、视图和相关操作的具体实现,主要包括下面几个方面。
(1)TestMFC.h:这是应用程序的主头文件,它包含所有全局符号和用于包含其他头文件的#include伪指令。
(2)TestMFC.cpp:这个文件是应用程序的主源文件。它将创建CTestApp类的一个对象,并覆盖InitInstance成员函数。
(3)MainFrm.cpp、MainFrm.h:这两个文件从CFrameWnd(SDI应用程序)或CMDIFramWnd(MDI应用程序)派生CMainFrme类。如果在AppWizard的Application Options页中选择了对应的可选项的话,CMainFrme类将处理工具条按钮和状态条的创建。MainFrm.cpp文件中还包含MFC应用程序提供的默认工具条按钮的对象ID——buttons数组。
(4)TestMFCDoc.cpp、TestMFCDoc.h:这两个文件从CDocument类派生并实现名为CTestMFCDoc的文档类,并含有用于初始化文档、串行化(保存和装入)文档和用于调试诊断的一些成员函数的框架。
(5)TestMFCView.cpp、TestMFCView.h:这些文件派生并实现名为CTestMFCView的视类,用于显示和打印文档数据。TestMFCView类是从CView或它的派生类派生出来的,含有绘制视图和用于调试诊断的一些成员函数框架。
3.资源文件预编译头文件
基于MFC的Windows应用程序一般都少不了应用程序资源的支持,AppWizard会创建一些与资源相关的文件,同时,与MFC应用程序相关的预编辑头文件也会被创建。
(1)TestMFC.rc、Resource.h:这是项目头文件及资源文件。资源文件含有一般MFC应用程序的默认菜单定义和加速键表、字符串表,还指定了默认的About对话框和一个图表文件(res\TestMFC.ico)。资源文件是标准的MFC类资源,如果指定了支持工具条,它还将指定工具条位图文件(res\toolbar.bmp)。
(2)stdafx.cpp、stdafx.h:这两个文件用于建立一个预编译的头文件TestMFC.pch和一个预定义的类型文件stdafx.obj。由于MFC体系结构非常大,包含许多头文件,如果每次都编译的话比较费时,依次把常用的MFC头文件都放在stdafx.h中,如afxwin.h、afxext.h、afxdisp.h、afxcmn.h等,然后让stdafx.cpp包含这个stdafx.h文件。这样,由于编译器可以识别哪些文件已经编译过,所以stdafx.cpp就只编译一次,并生成所谓的预编译头文件(因为它存放的是头文件编译后的信息)。如果以后在编程(www.cppentry.com)时不想让有些MFC头文件每次都被编译,也可以将它加入到stdafx.h中。采用预编译头文件可以加速编译过程。
【责任编辑:雪花 TEL:(010)68476606-8007】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇3.1.4 MFC程序结构分析 下一篇3.3.10 Post-build step

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: