VC++文件扩展名
<
在应用程序中经常要使用一些位图、菜单之类的资源, VC中以rc为扩展名的文件称为资源文件, 其中包含了应用程序中用到的所有的windows资源, 要指出的一点是rc文件可以直接在VC集成环境中以可视化的方法进行编辑和修改。
>
知识扩展:
=================================================
Visual C++作为一种程序设计语言, 它同时也是一个集成开发工具, 提供了软件代码自动生成和可视化的资源编辑功能。在使用Visual C++开发应用程序的过程中, 系统为我们生成了大量的各种类型的文件, 在本节中将要详细介绍Visual C++中这些不同类型的文件分别起到什么样的作用, 在此基础上对Visual C++如何管理应用程序所用到的各种文件有一个全面的认识。
首先要介绍的是扩展名为dsw的文件类型, 这种类型的文件在VC中是级别最高的, 称为Workspace文件。在VC中, 应用程序是以Project的形式存在的, Project文件以.dsp扩展名, 在Workspace文件中可以包含多个Project, 由Workspace文件对它们进行统一的协调和管理。
与dsw类型的Workspace文件相配合的一个重要的文件类型是以opt为扩展名的文件, 这个文件中包含的是在Workspace文件中要用到的本地计算机的有关配置信息, 所以这个文件不能在不同的计算机上共享, 当我们打开一个Workspace文件时, 如果系统找不到需要的opt类型文件, 就会自动地创建一个与之配合的包含本地计算机信息的opt文件。
上面提到Project文件的扩展名是dsp, 这个文件中存放的是一个特定的工程, 也就是特定的应用程序的有关信息, 每个工程都对应有一个dsp类型的文件。
以clw为扩展名的文件是用来存放应用程序中用到的类和资源的信息的, 这些信息是VC中的ClassWizard工具管理和使用类的信息来源。它实际上是INI文件的格式有时候ClassWizard出问题,手工修改CLW文件可以解决.如果此文件不存在的话,每次用ClassWizard的时候绘提示你是否重建。
对应每个应用程序有一个readme.txt文件, 这个文件中列出了应用程序中用到的所有的文件的信息, 打开并查看其中的内容就可以对应用程序的文件结构有一个基本的认识。
在应用程序中大量应用的是以h和cpp为扩展名的文件, 以h为扩展名的文件称为头文件。以cpp为扩展名的文件称为实现文件, 一般说来h为扩展名的文件与cpp为扩展名的文件是一一对应配合使用的, 在h为扩展名的文件中包含的主要是类的定义, 而在cpp为扩展名的文件中包含的主要是类成员函数的实现代码。
在应用程序中经常要使用一些位图、菜单之类的资源, VC中以rc为扩展名的文件称为资源文件, 其中包含了应用程序中用到的所有的windows资源, 要指出的一点是rc文件可以直接在VC集成环境中以可视化的方法进行编辑和修改。
最后要介绍的是以rc2为扩展名的文件, 它也是资源文件, 但这个文件中的资源不能在VC的集成环境下直接进行编辑和修改, 而是由我们自己根据需要手工地编辑这个文件。
对于以ico,bmp等为扩展名的文件是具体的资源, 产生这种资源的途径很多。使用rc资源文件的目的就是为了对程序中用到的大量的资源进行统一的管理。
以下文件在项目中是可丢弃的,有些文件删除后,VC会自动生成的。
.ncb 无编译浏览文件(no compile browser)。当自动完成功能出问题时可以删除此文件。build后会自动生成。
.opt 工程关于开发环境的参数文件。如工具条位置等信息;(可丢弃) 。
.aps (AppStudio File),资源辅助文件,二进制格式,一般不用去管它。
.plg 是编译信息文件,编译时的error和warning信息文件(实际上是一个html文件),一般用处不大.在Tools->Options里面有个选项可以控制这个文件的生成。
.hpj (Help Project)是生成帮助文件的工程,用microsfot Help Compiler可以处理。
.mdp (Microsoft DevStudio Project)是旧版本的项目文件,如果要打开此文件的话,会提示你是否转换成新的DSP格式。
.bsc 是用于浏览项目信息的,如果用Source Brower的话就必须有这个文件.如果不用这个功能的话,可以在Project Options里面去掉Generate Browse Info File,可以加快编译速度。
.map 是执行文件的映像信息纪录文件,除非对系统底层非常熟悉,这个文件一般用不着。
.pch (Pre-Compiled File)是预编译文件,可以加快编译速度,但是文件非常大。
.pdb (Program Database)记录了程序有关的一些数据和调试信息,在调试的时候可能有用。
.exp 只有在编译DLL的时候才会生成,记录了DLL文件中的一些信息.一般也没什么用。