gpt4 book ai didi

c++ - 如何在C++中加载dll

转载 作者:行者123 更新时间:2023-11-30 02:45:06 28 4
gpt4 key购买 nike

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

试过加载库函数,成功加载Dll。

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

最佳答案

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

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

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

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

关于c++ - 如何在C++中加载dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24796164/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com