整理了一下用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形式提供时。// 本文转自 C++Builder 研究 - http://www.ccrun.com/article.asp?i=1025&d=dwni64
/>
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文件,无须进源代码库,如果是工程使用到的第三方库则需要进源代码库。