如何跟客户解释为什么程序会有附带文件,最全标准回答来了!(建议收藏!)

举报
灰小猿 发表于 2021/09/28 09:10:22 2021/09/28
【摘要】 很多刚开始做程序开发的小伙伴可能都会发现,在新建C语言和C++的工程时,都会在生成的程序文件夹中出现很多类似于.dsp .dsw .ncb .opt .plg的附加文件。很多小伙伴在刚开始学习的时候都对于这些文件不是很了解,甚至当成程序文件来打开使用,结果呢?可想而知…bug bug bug。前两天大灰狼在和朋友交流C#的时候,朋友就有疑问如此多的文件中,真正的幕后主程序在哪个文件。同样在今...

很多刚开始做程序开发的小伙伴可能都会发现,在新建C语言和C++的工程时,都会在生成的程序文件夹中出现很多类似于.dsp .dsw .ncb .opt .plg的附加文件。

很多小伙伴在刚开始学习的时候都对于这些文件不是很了解,甚至当成程序文件来打开使用,结果呢?可想而知…bug bug bug。

前两天大灰狼在和朋友交流C#的时候,朋友就有疑问如此多的文件中,真正的幕后主程序在哪个文件。

同样在今天大灰狼给一个客户开发功能交付代码时,客户就提出了这样的问题:“为什么会有附带文件,给我解释解释!”

在这里插入图片描述
What?好吧,我承认没有只交付.C文件是我的错,让你对程序开发产生了这么大的误区…在这里我深刻的反思自己掉落的几根头发。

那么今天大灰狼就来带着大家的众多神疑问来统一答复一下,在创建C/C++工程时所产生的.dsp .dsw .ncb .opt .plg的附加文件其实是开发环境自动生成的。

敲重点!!!这些文件并不是我们为了给广大上帝朋友添加程序负担而故意添加的。

那么这些类似于.dsp .dsw .ncb .opt .plg的附加文件有什么作用呢?
在这里插入图片描述
在这大灰狼来分析解释一下:

.dsp (DeveloperStudio Project):项目文件,文本格式,不过不熟悉的话不要手工修改(bug警告)!

在VC中,应用程序是以Project的形式存在的,Project文件的扩展名为.dsp,在Workspace文件中可以包含多个Project,由Workspace文件对它们进行统一的协调和管理,每个工程都对应一个dsp文件。

项目文件名后缀为dsp(保存项目设置),它维护应用程序中所有的源代码文件,以及Visual C++如何编译、连接应用程序,以便创建可执行程序。简单来说就是给你的程序文件运行搭桥牵线的。

.dsw(DeveloperStudio Workspace)

这种类型的文件在VC中是级别最高的,称为Workspace文件 ,Visual C++6的集成开发环境中,通过"File"菜单的"New"命令创建一个新的项目。

在这里插入图片描述
创建一个项目的同时,也创建了一个项目工作区,项目工作区文件的后缀名为dsw(保存项目工作区的设置)。一个应用程序可以有一个项目及若干个子项目,但只有一个活动的项目。功能和.dsp文件差不多。

.ncb 无编译浏览文件(no compile browser)。属于二进制文件,当自动完成功能出问题时可以删除此文件。建立后会自动生成。其实就是分析器信息文件。

.opt 工程关于开发环境的参数文件。如工具条位置等信息,与dsw类型的Workspace文件像配合的一个重要的文件类型,这个文件中包含的是Workspace文件中要用大本地计算机的有关配置信息。

所以这个文件不能在不同的计算机上共享。当我们打开一个Workspace文件时,如果系统找不到需要的opt类型文件,就会自动的创建一个与之配合的包含本地计算机信息的opt文件。

.plg 是编译信息文件,编译时的error和warning信息文件(实际上是一个html文件),一般用处不大.在Tools->Options里面有个选项可以控制这个文件的生成。

在创建工程时的附加文件很多,但每个程序都会附带的就是以上五种,同时根据程序的不同需要,我们也会添加很多不同的文件,基本的功能如下:

.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资源定义文件中。

.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:声音资源文件。

虽然附加文件很多,但是在程序开发时没有一个文件是无用的。

它就像我们人的每一个器官一样,或多或少,每一部分都有它独有的作用和功能。

我们在程序书写时最主要的是记住程序源文件的位置和后缀就可以了。

觉得有用记得关注分享,灰小猿陪你一起进步!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。