如果要从 C 语言模块访问用 C++ 编写的 DLL 中的函数,则应使用 C 链接(而不是 C++ 链接)声明这些函数。 除非另外指定,否则 C++ 编译器会使用 C++ 类型安全命名(也称为名称修饰)和 C++ 调用约定(可能难以从 C 中进行调用)。
若要指定 C 链接,请为函数声明指定 extern "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。 提交和查看相关反馈
使用 .def 文件从 DLL 导出
使用 __declspec(dllexport) 从 DLL 导出
使用 AFX_EXT_CLASS 导出和导入
导出 C 函数以用于 C 或 C++ 语言可执行文件
确定要使用的导出方法
使用 __declspec(dllimport) 导入到应用程序中
初始化 DLL
使用 extern 指定链接
从 DLL 导出
提交和查看相关反馈