如果要从 C 语言模块访问用 C++ 编写的 DLL 中的函数,则应使用 C 链接(而不是 C++ 链接)声明这些函数。 除非另外指定,否则 C++ 编译器会使用 C++ 类型安全命名(也称为名称修饰)和 C++ 调用约定(可能难以从 C 中进行调用)。

若要指定 C 链接,请为函数声明指定 extern "C" 。 例如:

extern "C" __declspec( dllexport ) int MyFunc(long parm1);

你希望做什么?

  • 使用 .def 文件从 DLL 导出

  • 使用 __declspec(dllexport) 从 DLL 导出

  • 使用 AFX_EXT_CLASS 导出和导入

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

  • 确定要使用的导出方法

  • 使用 __declspec(dllimport) 导入到应用程序中

  • 初始化 DLL

    你想进一步了解什么?

  • 使用 extern 指定链接

    从 DLL 导出

    即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:https://aka.ms/ContentUserFeedback

    提交和查看相关反馈

  •