【发布时间】:2023-03-27 14:53:01
【问题描述】:
如何在 C++ 中导入 DLL (minifmod.dll)?
我希望能够调用此 DLL 中的函数。我已经知道函数的参数列表,但我不知道如何调用它。
有没有办法像在 C# 中一样在 C++ 中声明导入的函数?
【问题讨论】:
如何在 C++ 中导入 DLL (minifmod.dll)?
我希望能够调用此 DLL 中的函数。我已经知道函数的参数列表,但我不知道如何调用它。
有没有办法像在 C# 中一样在 C++ 中声明导入的函数?
【问题讨论】:
在运行时,您可以调用LoadLibrary(),然后调用GetProcAddress() 从DLL 访问函数。您需要将此地址转换为您使用 typedef 定义的原型。请参阅 GetProcAddress 文档页面上的示例。
【讨论】:
用于声明导入函数的 c# 语法在 c++ 中不可用。以下是有关如何使用 DLL 的其他一些 SO 问题:
【讨论】:
如果 DLL 包含 COM 类型库,您可以像这样使用#import 语句:
#import dllname.dll
否则,您需要链接一个导入库,并且您需要为您的编译器提供一个函数原型。通常,导入库和带有原型的头文件由 DLL 开发人员提供。如果你不知道,它们可能很难生成 - 除非你已经知道函数的参数列表,你说你知道。说明可以在here 等其他地方找到。
【讨论】: