平时都是有向导生成的各种各样的项目文件,不出问题还很少关心各自到底是啥东东,今天碰到手动修改项目文件,顺便将相关知识摘录如下:
*.dsp(DeveloperStudio Project):是VC++的工程配置文件,比如说你的工程包含哪个文件,你的编译选项是什么等等,编译的时候是按照.dsp的配置来的。
*.dsw(DeveloperStudio Workspace):是工作区文件,用来配置工程文件的。它可以指向一个或多个.dsp文件。他是vc++的最顶层文件,也就是一个管理文件
*.clw:是 ClassWizard信息文件,实际上是INI文件的格式,有兴趣可以研究一下.有时候ClassWizard出问题,手工修改CLW文件可以解决.如果此文件不存在的话,每次用ClassWizard的时候绘提示你是否重建。
*.opt:工程关于开发环境的参数文件,如工具条位置等信息。
*.aps:(AppStudio File),资源辅助文件,二进制格式,一般不用去管他。
*.rc:资源文件。在应用程序中经常要使用一些位图、菜单之类的资源, VC中以rc为扩展名的文件称为资源文件, 其中包含了应用程序中用到的所有的windows资源, 要指出的一点是rc文件可以直接在VC集成环境中以可视化的方法进行编辑和修改。
*.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文件中的一些信息。一般也没什么用。
*.ncb:无编译浏览文件(no compile browser)。当自动完成功能出问题时可以删除此文件,build后会自动生成。
*.c:源代码文件,按C语言用法编译处理。
*.cpp:源代码文件,按C++语法编译处理。
*.h是头文件,一般用作声明和全局定义。
*.sln:在开发环境中使用的解决方案文件。它将一个或多个项目的所有元素组织到单个的解决方案中。此文件存储在父项目目录中.解决方案文件,他是一个或多个.proj(项目文件)的集合。
*.vcproj 是vc的工程项目文件
.vcproj .sln 分别是VC2002以上工程文件和解决方案文件
.dsp .dsw 分别是VC6的工程文件和工程组文件
将VC7工程转换回VC6工程,换言之,就是将.sln/.vcproj这两个文件转换到.dsw/.dsp文件。
vc6打开dsp或dsw,vc2003,2005打开sln或vcproj
VC6打开*.dsw文件,单击工具栏上的"!",然后你的文件夹里多了一个DEBUG文件夹里面有.EXE文件
在vc7里面打开vc6的工程时,它会提示你是否转换成vc7的格式,转换后就可以直接使用了。转换后的工程,vc6就不认识了。
我使用vc.net 2003打开vc6的工程,提示要升级,我也选了yes to all ,但是其实vc.net只是读取vc6的.dsw和.dsp中的信息并添加了.sln和.vcproj。
用vc.net打开过的vc6工程 dsw和dsp都没有改变。所以用vc.net打开过的vc6工程,虽然已经被“升级”其实dsw和dsp并没有被改动,再打开时就不用dsw而用sln了。这点做得很好,只是从vc6的工程文件中读信息,并不改,照样可以用vc6打开原来的dsw和dsp
文章出处:DIY部落(
http://www.diybl.com/course/3_program/c++/cppsl/2007918/71989.html)