- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录
模块定义 (.def) 文件1
模块定义语句的规则2
EXPORTS2
HEAPSIZE4
LIBRARY4
NAME (C/C++)4
SECTIONS (C/C++)5
STACKSIZE6
STUB6
VERSION (C/C++)6
保留字7
(.def)
模块定义 (.def) 文件
((..ddeeff))
模块定义 (.def) 文件为链接器提供有关被链接程序的导出、属性及其他方面的信息。生成 DLL
时,.def 文件最有用。由于存在可代替模块定义语句使用的链接器选项,通常不需要 .def 文件。
也可以将 __declspec(dllexport) 用作指定导出函数的手段。
在链接器阶段可以使用 /DEF(指定模块定义文件)链接器选项调用 .def 文件。
如果生成的 .exe 文件没有导出,使用 .def 文件将使输出文件较大并降低加载速度。
有关更多信息,请参见下列章节:
• 模块定义语句的规则
• EXPORTS
• HEAPSIZE
• LIBRARY
• NAME (C/C++)
• SECTIONS (C/C++)
• STACKSIZE
• STUB
• VERSION (C/C++)
• 保留字
1
模块定义语句的规则
下列语法规则适用于 .def 文件中的所有语句。其他适用于特定语句的规则与各语句一起加以说
明。
• 语句、属性关键字和用户指定的标识符区分大小写。
• 包含空格或分号 (;) 的长文件名必须用引号 () 引起。
• 使用一个或多个空格、制表符或换行符,将语句关键字同其参数分开和将各语句分开。
指定参数的冒号 (:) 或等号 (=) 两旁有零个或多个空格、制表符或换行符。
NAME LIBRARY
NAME LIBRARY
• 如果使用 NNAAMMEE 或 LLIIBBRRAARRYY 语句,则这些语句必须位于所有其他语句之前。
SECTIONS EXPORTS
SECTIONS EXPORTS
• 在 .def 文件中,SSEECCTTIIOONNSS 和 EEXXPPOORRTTSS 语句可以出现多次。每个语句都可以采用多
个规范,各规范间必须用一个或多个空格、制表符或换行符分开。语句关键字必须在第
一个规范的前面出现一次,并且可以在每个附加规范的前面重复。
• 许多语句都具有等效的 LINK 命令行选项。有关其他详细信息,请参见相应的 LINK 选
项说明。
• .def 文件中的注释由每个注释行开始处的分号 (;) 指定。注释不能与语句共享一行,但
SECTIONS EXPORTS
SECTIONS EXPORTS
可以在多行语句的规范间出现。((SSEECCTTIIOONNSS 和 EEXXPPOORRTTSS 为多行语句。)
• 以十进制或十六进制为基础指定数值参数。
• 如果字符串参数与保留字匹配,则必须用双引号 () 将字符串参数引起。
EXPORTS
EXPORTS
EEXXPPOORRTTSS
引入了一个由一个或多个 definitions(导出的函数或数据)组成的节。每个定义必须在单独一
行上。
EXPORTS
definitions
备注
EXPORTS
EXPORTS
EEXXPPOORRTTSS 关键字可以在第一个定义所在的同一行或前一行上。.def 文件可以包含一个或多个
EXPORTS
EXPORTS
EEXXPPOORRTTSS 语句。
导出 definitions 的语法为:
entryname[=internalname] [@ordinal [
文档评论(0)