使用C ++导入DLL(Win32)

时间:2009-12-17 15:36:53

标签: c++ dll winapi import

如何在C ++中导入DLL(minifmod.dll)?

我希望能够在此DLL中调用一个函数。我已经知道函数的参数列表,但我不知道如何调用它。

有没有办法像C#一样在C ++中声明导入的函数?

3 个答案:

答案 0 :(得分:12)

答案 1 :(得分:5)

如果DLL包含COM类型库,则可以使用#import语句:

#import dllname.dll

否则,您需要链接导入库,并且需要为编译器提供函数原型。通常,导入库和带有原型的头文件由DLL开发人员提供。如果你不是,那么它们很难生成 - 除非你已经知道函数的参数列表,你说你做了。可以在here以及其他地方找到说明。

答案 2 :(得分:0)

在运行时,您可以调用LoadLibrary(),然后调用GetProcAddress()从DLL中访问该函数。您将需要将此地址转换为使用typedef定义的原型。请参见GetProcAddress文档页面上的示例。