使用 DEF 文件从 DLL 导出 模 块 定 义 (
def) 文 件 是 包 含 一 个 或 多 个 描 述 DLL 各 种 属 性 的 Module 语 句 的 文 本 文 件
如 果 不 使 用 __declspec(dllex port) 关 键 字 导 出 DLL 的 函数 , 则 DLL 需 要
def 文 件
def 文 件 必 须 至 少 包 含 下 列 模 块 定 义 语 句 : 文 件 中 的 第 一 个 语 句 必 须 是 LIBRARY 语 句
此 语 句 将
def 文 件 标 识 为 属于 DLL
LIBRARY 语 句 的 后 面 是 DLL 的 名 称
链 接 器 将 此 名 称 放 到 DLL 的导 入 库 中
EXPORTS 语 句 列 出 名 称 , 可 能 的 话 还 会 列 出 DLL 导 出 函 数 的 序 号 值
通过 在 函 数 名 的 后 面 加 上 @ 符 和 一 个 数 字 ,给 函 数 分 配 序 号 值
当 指 定 序 号 值 时 ,序 号 值 的 范 围 必 须 是 从 1 到 N, 其 中 N 是 DLL 导 出 函 数 的 个 数
如 果 希 望按 序 号 导 出 函 数 , 请 参 见 按 序 号 而 不 是 按 名 称 从 DLL 导 出 函 数 以 及 本 主 题
例 如 , 包 含 实 现 二 进 制 搜 索 树 的 代 码 的 DLL 看 上 去 可 能 像 下 面 这 样 : LIBRARY BTREE EXPORTS Insert @1 Delete @2 Member @3 Min @4 如 果 使 用 MFC DLL 向 导 创 建 MFC DLL, 则 向 导 将 为 您 创 建 主 干
def 文件 并 将 其 自 动 添 加 到 项 目