22.1.4 DLL文件的组成
DLL文件与EXE文件相似,主要不同在于DLL文件包含一个导出表。此导出表中包含DLL导出给其他可执行文件的函数名称。这些函数是DLL的入口;并且只有在导出表中的函数才可以被其他可执行文件访问。DLL中的其他函数是DLL私有的。
DEF文件最少要包括下面的模块定义语句。
文件的第一条语句必须是LIBRARY语句。此语句定义了DEF文件所属的DLL。LIBRARY语句后写入DLL名称。链接器将此名称放入DLL的导入库。
文件中的EXPORTS语句用于列出导出的函数名称和为其分配序号值。格式是函数名称后写入@符号和序号值。函数的顺序可以任意分配,但是序号值的取值范围必须是1到N,其中N是DLL导出的函数个数。
为了清晰,建议在DLL的DEF文件中使用DESCRIPTION语句描述DLL的功能,方便DLL的复用。
所有以分号开头的行都是注释行。
下面是DEF文件的例子。
- ; MFCDLL1.def : Declares the module parameters for the DLL.
- LIBRARY "MFCDLL1"
- DESCRIPTION 'MFCDLL1 Windows Dynamic Link Library'
- EXPORTS
- WriteLog @1