如何在C ++中加载DLL

时间:2014-07-17 06:18:34

标签: c++ dll

我想在我的c ++项目中加载Dll,但问题是我没有使用Dll的源代码。所以我无法修改dll中的任何内容,例如添加导出def文件,或导出dll的c方法。针对这种情况的任何解决方案?

尝试了加载库函数,并成功加载了Dll。

如何在没有def文件的情况下调用dll中的函数,或者导出c方法?

1 个答案:

答案 0 :(得分:3)

您需要知道DLL为您提供了什么。您应该获得带有结构定义(如果有)的头文件和包含调用约定的函数原型。

您可以使用dumpbin /exports TheDll.dll获取导出的函数列表。您应该使用dumpbin命令进一步检查它的CPU。这避免了32/64位的麻烦。

您可以使用LoadLibrary API函数加载任何兼容的DLL(32/64)。包括适当的标题以获取原型。

使用GetProcAddress函数获得指向导出函数的指针。如果你有函数签名,你可以使用这个指针来调用函数。