在 Visual C++/qt 应用程序中加载第三方 dll

发布于 2024-11-07 11:16:15 字数 176 浏览 3 评论 0原文

我有需要与我的应用程序一起使用的第三方 dll。该接口是在第三方 dll 中定义的,我必须从我的应用程序进行接口调用。我有接口的函数原型,但没有lib文件或头文件。看起来应该使用 loadlibrary,但是没有头文件是否可以?有没有办法生成这样的头文件?也非常感谢对 loadlibrary 的一些解释,因为我仍然掌握这个想法。 谢谢!

I have third party dlls that I need to use with my application. The interface is defined in the third party dlls and I have to make the interface call from my application. I have the function prototype of the interface, but no lib files or header files. It looks like loadlibrary should be used, but is it possible without the header files ? Is there a way to generate such header files? Would also greatly appreciate some explanation for the loadlibrary, as I am still grasping the idea yet.
Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

挽你眉间 2024-11-14 11:16:15

您可以使用 QLibrary::resolve() (或其静态便捷兄弟)在 DLL 中查找符号并调用它。

You can use QLibrary::resolve() (or its static convenience brethren) to lookup a symbol in a DLL, and call it.

青巷忧颜 2024-11-14 11:16:15

您可以使用 API 函数 LoadLibrary 加载该库。加载 DLL 后,您可以使用 GetProcAddress 来获取特定函数的入口点。

如果它是 C++ 库,您可能需要注意修饰名称。 dumpbinundname 工具可能有助于识别 DLL 真正导出的内容。

You load the library with the API function LoadLibrary. After loading the DLL you use GetProcAddress to get the entry point for a specific function.

If it's a C++ library, you may have to care for the decorated names. The tools dumpbin and undname may help to identify what is really exported by the DLL.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文