从 DLL 导出

DLL 文件的布局与 .exe 文件非常相似,但有一个重要的区别:DLL 文件包含导出表。 导出表包含 DLL 导出到其他可执行文件的每个函数的名称。 这些函数是进入 DLL 中的入口点;只有导出表中的函数才能被其他可执行文件访问。 DLL 中的任何其他函数都是 DLL 的私有函数。 可通过使用带有 /EXPORTS 选项的 DUMPBIN 工具来查看 DLL 导出表。

可使用两种方法从 DLL 导出函数:

创建模块定义 (.def) 文件,然后在生成 DLL 时使用 .def 文件。 如果希望按序号而不是按名称从 DLL 中导出函数,请使用此方法。

在函数定义中使用关键字 __declspec(dllexport)。

用任一方法导出函数时,请确保使用 __stdcall 调用约定。

你希望做什么?

使用 .def 文件从 DLL 导出

使用 __declspec(dllexport) 从 DLL 导出

使用 AFX_EXT_CLASS 导出和导入

导出 C++ 函数以用于 C 语言可执行文件

导出 C 函数以用于 C 或 C++ 语言可执行文件

按序号而不是按名称从 DLL 导出函数

确定要使用的导出方法

将可执行文件链接到 DLL

初始化 DLL

你想进一步了解什么?

导入到应用程序中

导入和导出内联函数

相互导入

另请参阅

导入和导出