VC编译器产生的文件简介

 

 .CLW 文件是VC Class Wizard信息文件。存放了Class Wizard的信息。ClassWizard生成的用来存放类信息的文件。classwizard信息文件,ini文件的格式。

.NCB 文件是分析器信息文件,是由系统自动产生的。是“No Compile Browser”的缩写,其中存放了供ClassView、WizardBar和Component Gallery使用的信息,由VC开发环境自动生成。无编译浏览文件。当自动完成功能出问题时可以删除此文件。编译工程后会自动生成。

.OPT 文件是IDE的Option文件。VC开发环境自动生成的用来存放WorkSpace中各种选项的文件。工程关于开发环境的参数文件。如工具条位置信息等。

.APS 文件是资源文件的二进制版本。存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。

.PLG:编译信息文件,编译时的error和warning信息文件。

这些文件亦不需要放入基线库。

另外, VC文件扩展名及其参考:

.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。

.BMP:位图资源文件。

.BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source brower的话就必须有这个文件。可以在project options里去掉Generate Browse Info File,这样可以加快编译进度。

.C:用C语言编写的源代码文件。

.CLW:ClassWizard生成的用来存放类信息的文件。classwizard信息文件,ini文件的格式。

.CNT:用来定义帮助文件中“Contents”的结构。

.CPP或.CXX:用C++语言编写的源代码文件。

.CUR:光标资源文件。

.DEF:模块定义文件,供生成动态链接库时使用。

.DLG:定义对话框资源的独立文件。这种文件对于VC工程来说并非必需,因为VC一般把对话框资源放在.RC资源定义文件中。

.DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。项目文件,文本格式。

.DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中。工作区文件,与.dsp差不多。

.EXP:由LIB工具从DEF文件生成的输出文件,其中包含了函数和数据项目的输出信息,LINK工具将使用EXP文件来创建动态链接库。只有在编译DLL时才会生成,记录了DLL文件中的一些信息。

.H、.HPP或.HXX:用C/C++语言编写的头文件,通常用来定义数据类型,声明变量、函数、结构和类。

.HLP:Windows帮助文件。

.HM:在Help工程中,该文件定义了帮助文件与对话框、菜单或其它资源之间ID值的对应关系。

.HPJ:由Help Workshop生成的Help工程文件,用来控制Help文件的生成过程。

.HPG,生成帮助的文件的工程。

.ICO:图标资源文件。

.ILK:连接过程中生成的一种中间文件,只供LINK工具使用。

.INI:配置文件。

.LIB:库文件,LINK工具将使用它来连接各种输入库,以便最终生成EXE文件。

.LIC:用户许可证书文件,使用某些ActiveX控件时需要该文件。

.MAK:即MAKE文件,VC4及以前版本使用的工程文件,用来指定如何建立一个工程,VC6把MAK文件转换成DSP文件来处理。

.MAP:由LINK工具生成的一种文本文件,其中包含有被连接的程序的某些信息,例如程序中的组信息和公共符号信息等。执行文件的映像信息记录文件。

.MDP:旧版本的项目文件,相当于.dsp

.NCB:NCB是“No Compile Browser”的缩写,其中存放了供ClassView、WizardBar和Component Gallery使用的信息,由VC开发环境自动生成。无编译浏览文件。当自动完成功能出问题时可以删除此文件。编译工程后会自动生成。

.OBJ:由编译器或汇编工具生成的目标文件,是模块的二进制中间文件。

.ODL:用对象描述语言编写的源代码文件,VC用它来生成TLB文件。

.OLB:带有类型库资源的一种特殊的动态链接库,也叫对象库文件。

.OPT:VC开发环境自动生成的用来存放WorkSpace中各种选项的文件。工程关于开发环境的参数文件。如工具条位置信息等。

.PBI、.PBO和.PBT:由VC的性能分析工具PROFILE生成并使用的三种文件。

.PCH:预编译头文件,比较大,由编译器在建立工程时自动生成,其中存放有工程中已经编译的部分代码,在以后建立工程时不再重新编译这些代码,以便加快整个编译过程的速度。

.PDB:程序数据库文件,在建立工程时自动生成,其中存放程序的各种信息,用来加快调试过程的速度。记录了程序有关的一些数据和调试信息。

 .PLG:编译信息文件,编译时的error和warning信息文件。

.RC:资源定义文件。

.RC2:资源定义文件,供一些特殊情况下使用。

.REG:注册表信息文件。

.RES:二进制资源文件,资源编译器编译资源定义文件后即生成RES文件。

.RTF:Rich Text Format(丰富文本格式)文档,可由Word或写字板来创建,常被用来生成Help文件。

.SBR:VC编译器为每个OBJ文件生成的原始浏览信息文件,浏览信息维护工具(BSCMAKE)将利用SBR文件来生成BSC文件。

.TLB:OLE库文件,其中存放了OLE自动化对象的数据类型、模块和接口定义,自动化服务器通过TLB文件就能了解自动化对象的使用方法。

.WAV:声音资源文件。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VC51使用说明 用途。 我们所使用的keil c51,是不支持中文标识符名的。但对于中国人来说,还是用中文作标识符比较符合思维习惯。VC51就是为了能实现此目的,而编写的一个小工具。 使用方法。 安装:此工具是开源的,用的是VC++编译环境。用户可自己编译。编译生成EXE文件,将keil安装目录下的“.\C51\BIN\c51.exe”重命名为“kc51.exe”。将编译后的文件复制到“.\C51\BIN\”下,并命名为“c51.exe”。 使用:在编写keil的C代码或H代码中,希望使用中文标识符名时,需要按照如下格式:“nameof(“变量名字符串”)”。这样,经过VC51工具的处理,就能正确编译了。 举例: 实现原理。 先说一下c51的实现原理吧。c51是一个可以在命令提示符环境下通过命令调用的编译工具。其命令格式有两种:“C51 sourcefile [directives…]”或“C51 @commandfile”。我们使用的keil前台是通过后一种命令来实现的。commandfile是keil在编译前临时生成的文件,其内容就是真正要传递给c51的编译参数。c51处理结束后,把结果返回。我们就能看到编译是否成功,如果有错误,错误是出在哪了。是不是看着有点乱呢?还是举例吧。比如我们要编译“main.c”。 下面就说说VC51是怎么实现的。VC51把自己伪装成C51,而把真正的C51更名为KC51。这样,前台发的命令就被VC51收到了,也就知道了要对谁进行编译。但是考虑到被编译的文件可能会调用到各头文件。所以本着“宁可枉杀一千,不叫一个漏网”的原则。VC51首先会把工程所在目录及子目录下的所有C文件和H文件,全部复制到工程目录下的“VC51FILS”文件夹中。当复制的同时,就会对文件中的中文标识符进行处理,具体怎么处理,我们在下一点中说。复制完就给KC51,也就是真正的C51发命令,不让它处理原文件了,而是处理我们复制后的文件。然后把KC51的结果返回给前台。说白了,就是在IDE前台和C51的通信之间进行“传话”,在传话的过程中,我们作手脚。 下边就说怎么作手脚了。前文已经说了,我们的中文标识符必须按照“nameof(“变量名字符串”)”的格式。我们复制的时候,把所有出现这样格式的内容都替换掉。“nameof”还保留不变。“(“变量名字符串”)”都变成对应GB码的十六进制字符。这样,标识符就符合规范了,即,由字母数字和下划线组成,并且由字母或下划线开始。例如:“nameof("示例变量")”替换后就是“nameof2822CABEC0FDB1E4C1BF2229”。当然长度上肯定是增加了。所以不要超过规范规定的字数限制哦。 VC51对C51返回的结果也作了一些处理。因为返回结果中会包含(不是每次都包含)我们复制后的路径。而IDE前台会根据路径来查找对应的文件。比如我们的文件语法有误,如果不对结果进行处理,我们在编辑环境中,双击错误信息,出来的就是复制后的文件,而不是原文件。所以我们把结果中出现的路径还还原为原路径,IDE前台就以为是原文件了。 补充说明。 本软件完全开源,用户可自行修改和使用。但由此可能引发的版权纠纷或其他后果,均由用户自负。因此建议仅供学习与交流使用,请勿用于商业用途。 上面我们说到编译任何一个文件时,都会复制全部的C文件和H文件。其实还有一步详细的处理。原文件进行替换完毕,VC51会把替换结果与已经存在的文件作比较。若长度和CRC校验都符合,就不再写文件;否则才会写。这样能有效减少写的次数。 工程中文件的结构,需要符合这样的格式,所有C文件和H文件都需要位于工程文件所在目录和子目录中。如果不在这范围内,则不能出现中文标识符。 我发现的不完善的地方,真正的C51工具,在某个文件修改后,如果选择“build target”,KEIL只会对修改过的文件进行编译,不编译没修改过的。但在VC51下,KEIL对修改过的文件也“视而不见”。我猜测可能的原因是,C51编译后会产生一些存储相关信息的文件,而这些文件中的路径是我们作过手脚的路径,因此对原路径修改的文件不能正确识别。这一点也请大家共同研究探讨。 可增加的功能。VC51返回的结果中,与中文标识符相关的内容,显示的会是我们替换后的形式。而这个形式是可再“翻译”回来的。目前没加这个功能,但理论上是可实现的。而且我想,就算没这功能,影响也不大。如果哪位愿意加上,我也是举双手双脚来赞成的。 理论上,可用类似的方法,实现在MDK中使用中文标识符。我的直觉告诉我,那个叫“armcc.exe”的文件,就是编译器了。 这工具是我利用业余时间所编,时间仓促,而且我对VC也不是太熟悉。软件中存在漏洞或待完善之处的可能还是蛮大的。代码中注释也不多,几乎没有。这个习惯可不好,不是程序员应有的。实在是时间不允许,请大家见谅。欢迎大家共同交流,使VC51有更好的改善,或是能编写出更好的工具来。我的联系方式写在最后了。 我的联系方式: 邮箱:[email protected],或QQ邮箱。 QQ:342581660(当前昵称:基督徒)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值