ITPub博客

首页 > Linux操作系统 > Linux操作系统 > VC工程中文件名对应

VC工程中文件名对应

原创 Linux操作系统 作者:willlxy 时间:2009-02-09 10:27:12 0 删除 编辑

VC工程中文件名对应

VC工程中文件名对应

.opt  工程关于开发环境的参数文件.如工具条位置等信息;
.aps  (AppStudio File),资源辅助文件,二进制格式,一般不用去管他;
.clw  ClassWizard信息文件,实际上是INI文件的格式,有时候ClassWizard出问题,手工修改CLW文件可以解决.如果此文件不存在的话,每次用        ClassWizard的时候绘提示你是否重建;
.dsp  (DeveloperStudio Project):项目文件,文本格式,不过不熟悉的话不要手工修改;
.dsw  (DeveloperStudio Workspace)是工作区文件,其他特点和DSP差不多;
.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后会自动生成.

对pch文件的一些说明:
预编译头文件(一般扩展名为.PCH),是把一个工程中较稳定的代码预先编译好放在一个文件(.PCH)里.这些预先编译好的代码可以是任何的C/C++代码--甚至可以是inline函数,只它们在整个工程中是较为稳定的,即在工程开发过程中不会经常被修改的代码.

为什么需要预编译头文件?一言以蔽之:提高编译速度.一般地,编译器以文件为单位编译,如果修改了一工程中的一个文件则所有文件都要重新编译,包括头文件里的所有东西(eg.Macro宏,Preprocessor预处理),而VC程序中,这些头文件中所包括的东西往往是非常大的,编译之将占很长的时间.但它们又不常被修改,是较稳定的,为单独的一个小文件而重新编译整个工程的所有文件导致编译效率下降,因此引入了.PCH文件.

如何使用预编译头文件以提高编译速度?要使用预编译头文件,必须指定一个头文件(.H),它包含我们不会经常修改的代码和其他的头文件,然后用这个头文件(.H)来生成一个预编译头文件(.PCH)VC默认的头文件就是StdAfx.h,因为头文件是不能编译的,所以我们还需要一个.CPP文件来作桥梁,VC默认的文件为StdAfx.cpp,这个文件里只有一句代码就是:#include "StdAfx.h".接下来要用它生成.PCH文件,涉及到几个重要的预编译指令:/Yu,/Yc,/Yx,/Fp.简单地说,/Yc是用来生成.PCH文件的编译开关.在Project->setting->C/C++的Category里的Precompiled Header,然后在左边的树形视图中选择用来编译生成.PCH文件的.CPP文件(默认即StdAfx.cpp)你就可以看到/Yc这个开关,它表示这个文件编译了以后是否生成.PCH文件(可能/Yc的c表示create)./Fp指令指定生成的.PCH文件的名字及路径(可能/Fp的p代表path)./Yu的u即use使用,工程中只要包括了.H文件的文件都会有这个/Yu指令.如果选择自动Automatic...的话则原来为/Yc的地方就换成了/Yx指令.如果选择自动,则每次编译时编译器会看以前有没有生成过.PCH文件,有则不现生成否则就再次编译产生.PCH文件.

注意:
A,实际上,由Appzard项目向导生成的默认的头文件及CPP文件StdAfx.h和StdAfx.cpp可以是任何名字的.原因很简单.但如果你要这样做就要记得修改相应的Project->setting...下的几个预编译指令(/Yc,/Yu,/Yx,/Fp)的参数.
B.在任何一个包括了将要预编译的头文件而使用了.PCH文件的工程文件的开头,一定必须要是在最开头,你要包含那个指定生成.PCH文件的.H文件(通过.CPP文件包括,默认为StdAfx.cpp),如果没包括将产生我最开头产生的错误.如果不是在最开头包括将产生让你意想不到的莫名其妙错误,如若不信,盍为试之?
C.预编译文件.PCH生成之很耗时间,而且生成之后它也很占磁盘空间,常在5-6M,注意项目完成之后及时清理无用的.PCH文件以节约磁盘空间.
D.如果丢了或删了.PCH文件而以后要再修改工程文件时,可将指定的/Yc的.CPP文件(默认为StdAfx.cpp)重新编译一次即可再次生成.PCH文件,不用傻傻的按F7或Rebuild All

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17267437/viewspace-545633/,如需转载,请注明出处,否则将追究法律责任。

下一篇: msxml 安装使用
请登录后发表评论 登录
全部评论

注册时间:2009-01-07

  • 博文量
    28
  • 访问量
    84157