Delphi相关文件扩展名介绍
作者:CnPack 开发组 Shenloqi
整理了一下用Delphi作的程序的源代码中常见的文件扩展名,并给出了这些文件扩展名的意义,以便源代码管理时作为参照,扩展名以字母为序(不需要进源代码库不表示不需要进库)。
~*
Delphi生成的备份文件,在版本控制库及发布代码中不应该出现这些文件,如果修改了某个文件却因某些原因没有保存的话,可以尝试使用这些文件恢复。
bmp/wmf/emf/gif/jpg/pcx/png/tiff/ico/cur/ani
图形/图标/光标文件,这些文件如果使用到了也需要进源代码库。
bpg
工程组文件(Borland Project Group File),文本格式,需要进源代码库;bpg文件其实是makefile格式,要编译bpg文件可以使用make工具,语法如下:
make -f %FileName%
bpl
运行时刻包文件,是一种Borland定义的特殊格式的dll,简单的说与普通dll的差别就是bpl有一些共用的部分只使用了同一引用,而dll使用了多份拷贝,因此才会使得bpl与dll的某些方面的差别很大。
此类型文件是否进源代码库需要根据其用途来判断,一般情况下源代码编译出来的bpl无需进库,但是如果此bpl是IDE的扩充插件,可能也需要进库,此外如果第三方组件没有提供源码仅提供了此文件,则此文件也需要进源代码库。
bpr/bpf/bpj/h/cpp
BCB(Borland C++ Builder)相关文件,如果工程使用了BCB,则需要进源代码库,但在我们的工程中应该不需要这些文件。
cab
ActiveX控件包文件,如果是工程使用到的第三方控件,则需要进源代码库。
cfg
编译工程时的配置文件。dcc32.exe程序编译工程时使用cfg文件的顺序为:首先使用dcc32.exe同目录下的dcc32.cfg文件,然后使用待编译文件同目录下的dcc32.cfg文件,最后使用待编译文件同目录下的同名的cfg文件,为了保证在不同的机器环境下编译的结果的同一性,此文件需要进源代码库。
dci
Code Insight文件,保存了代码模板(Code template),一般情况下无需进源代码库。
dcp
包含了包(Package)的头信息和包中单元文件的dcu/dpu文件的二进制映像文件,dcp与bpl的差别可以用dcu与dll/exe的差别来理解,delphi编译使用到包的文件时需要此包的dcp文件,此文件可由源代码生成,一般无需进源代码库。
dct
Component Template文件,如果工程使用到了component template则需要进源代码库。
dcu/dpu
单元(unit)对应的二进制映像文件,dpu是Linux系统下的dcu格式。dcu/dpu是pas的二进制的中间格式,相应的dfm/xfm文件没有链接进dcu/dpu中。一般情况下无需进源代码库,除非是在第三方库以dcu形式提供时。
ddp/dti
Diagram文件。Delphi 7提供了Diagram功能,可以在单元文件中使用图形化的描述,此类型文件对编译源代码无影响,但是如果使用了diagram功能,则此文件对理解单元可能会比较有用,在我们的工程中应该无需将这些文件进源代码库,即使有这些文件也可能是因为切换到diagram页卡生成的。
dfm/xfm
窗体文件。xfm是交叉平台源代码使用的窗体文件。dfm/xfm有两种格式,一种是二进制格式,一种是文本格式,为了便于版本控制,需要使用文本格式,文本格式也存在多种格式,Delphi7的文本格式的dfm/xfm保存如中文等使用的是unicode编码值,而Delphi7之前的使用的直接就是ansi,Delphi7支持打开原有格式的dfm文件。需要进源代码库。
dll/so
动态链接库文件。so为Linux下的动态链接库文件。如果是编译出来的dll/so文件,无须进源代码库,如果是工程使用到的第三方库则需要进源代码库。
dmt
Menu Template文件,一般无需进源代码库。
dof/kof
Delphi编译工程时的选项文件(Project options file),kof是Linux平台下的dof文件。此文件包含了Delphi的Project->Options的信息,也包含了编译配置的信息,此外还包含了目录,链接,版本,条件开关等等。一般情况下dof是同名cfg文件的超集(dof与cfg的格式不一样)。文本格式,为了保证在不同的机器环境下编译的结果的同一性,此文件需要进源代码库。
dpc/pce
包集合文件和包集合编辑文件。Delphi支持将多个包(Package)并入到一个文件中,使用此格式文件可以便于分发多个包给其他开发者,使用此格式可以很简便的配置IDE环境。此文件需要进源代码库。
dpk/dpkw
包文件。dpkw是交叉平台下的dpk文件。包文件列出了包所包含的文件和包所依赖的包,以及包描述信息,包编译选项等。文本格式,需要进源代码库。
dpr
工程文件。文本格式,需要进源代码库。
drc
包资源文件,提供如组件图标等包所需的资源。二进制格式,如果是包使用到的dcr则需要进源代码库。
drl/dro
Repository文件。Delphi提供了repository功能,可以使开发人员共享开发模板,合理使用repository功能可以加快开发速度,开发组配置好共享的repository就可以使用repository了。如未使用到repository功能则无需进源代码库。
dsk
Desktop文件。保存了IDE的布局(也可能包含浏览记号,视乎IDE的设定),为防止开发人员的IDE布局设置。文本格式,此文件不应进源代码库。
exe
可执行文件。如非第三方组件,无需进源代码库。
hlp/cnt/toc/chm
帮助文件。需进源代码库。
idl
接口定义语言文件。IDL定义了接口,COM和CORBA开发经常会使用到IDL。文本格式,需进源代码库。
inc
Include文件。与C++的include不一样。可嵌入Delphi的源代码文件中,Delphi编译是遇$I到include文件时相当于Copy一份inc文件的内容到当前位置,一般用于提取一些重复的每个单元都需要定义的内容,或用于定义通用的编译器指示字条件,甚至可以使用Delphi的inc机制实现C++的范型(可惜不能支持操作符重载)。文本格式,需进源代码库。
inf/reg
注册文件。文本格式,需进源代码库。
ini
初始化配置文件。如果是做为初始设定的配置文件,则需要进源代码库,如果是运行期生成的配置文件,则无需进源代码库。
int
单元的接口部分定义文件。将Delphi的单元的Interface部分提取出来的文件,此类文件类似C++的头文件,但是仅供开发人员参考单元接口部分定义,不参与编译。文本格式,无需进源代码库。
lib
导入库文件。供C++使用的dll的导入库文件,Delphi无需lib文件。如果需要给C++开发者使用某些dll,则需要提供相应的lib文件。可进源代码库。
log
日志文件。文本格式,无需进源代码库。
map
可执行文件布局文件。文本格式,无须进源代码库。
mdb/dbf/gd*/db/mdx/dbt/ndx/mb/val/qbe/px/x*/y*
桌面数据库文件。依据工程决定是否需要进源代码库。
obj/o
目标文件。二进制格式,如为源代码$L链接的目标文件,需要进源代码库。
ocx
Activex控件文件。二进制格式,如为源代码使用到的第三方控件,则需要进源代码库。
pas
单元文件。文本格式,需要进源代码库。
rc
资源脚本文件。经使用brcc32.exe编译后成为res文件。文本格式,需要进源代码库。
res
资源文件。包含了程序的主图标,字符串表,图标,图形等等。二进制格式,需要进源代码库。
rps/dfn
多国语言翻译文件。DelphiI的DE提供了一种多国语言支持机制。dfn为二进制格式,如果工程采用Delphi提供的此机制国际化,则需要将这些文件进源代码库。
rsm
调试符号信息文件。一些额外的调试工具需要调试符号信息,如果要支持这些工具,则需要提供rsm文件。二进制格式,无需进源代码库。
sql/tql
SQL语句和SQL模板文件。二进制格式,需进源代码库。
stat
工程统计信息文件。文本格式,无需进源代码库。
tds
外部调试符号表文件。无需进源代码库。
todo
Todo列表文件。无需进源代码库。
upg
升级信息文件。无需进源代码库。 |