/EXPORT(导出函数)

/EXPORT:entryname[,@ordinal[,NONAME]][,DATA]

备注

使用该选项,可以从程序导出函数,以便其他程序可以调用该函数。 也可以导出数据。 通常在 DLL 中定义导出。

entryname 是将由调用程序使用的函数名或数据项名。 ordinal 在 1 到 65,535 的范围内指定导出表中的索引;如果没有指定 ordinal,LINK 将分配一个。 NONAME 关键字只将函数导出为序号,没有 entryname

DATA 关键字指定导出项为数据项。 客户程序中的数据项必须用 extern __declspec(dllimport) 来声明。

有三种导出定义的方法,按照建议的使用顺序依次为:

  1. 源代码中的 __declspec(dllexport)

  2. .def 文件中的 EXPORTS 语句

  3. LINK 命令中的 /EXPORT 规范

所有这三种方法可以用在同一个程序中。 LINK 在生成包含导出的程序时还创建导入库,除非生成中使用了 .exp 文件。

LINK 使用标识符的修饰形式。 编译器在创建 .obj 文件时修饰标识符。 如果 entryname 以其未修饰的形式指定给链接器(与其在源代码中一样),则 LINK 将尝试匹配该名称。 如果无法找到唯一的匹配名称,则 LINK 发出错误信息。 当需要将标识符指定给链接器时,请使用 Dumpbin 工具获取该标识符的修饰名形式。

备注

不要指定声明为 __cdecl 或 __stdcall 的 C 标识符的修饰形式。

在 Visual Studio 开发环境中设置此链接器选项

  1. 打开项目的**“属性页”**对话框。 有关详细信息,请参见设置 Visual C++ 项目属性

  2. 单击“链接器”文件夹。

  3. 单击**“命令行”**属性页。

  4. 将该选项键入**“附加选项”**框中。

以编程方式设置此链接器选项

请参见

参考

设置链接器选项

链接器选项