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