QT 调用动态链接库

引入QT提供的动态加载库的类

C 复制代码
#include <QLibrary>

定义函数指针类型

c 复制代码
typedef void (*GetResFunction)(uint8_t*, uint8_t*, int);

定义函数指针的主要目的是为了解析和调用动态链接库中的函数。如果你不定义函数指针,就无法直接调用动态链接库中的函数

加载动态链接库

c 复制代码
QLibrary myLib("Aes8a");
if(!myLib.load()){
    qDebug()<< "不能加载动态链接库";
}

解析函数

c 复制代码
GetResFunction getRes = (GetResFunction)myLib.resolve("GetRes");
if (!getRes) {
   qDebug() << "无法解析函数:" << myLib.errorString();
   myLib.unload();
}

QLibrary::resolve() 方法的作用是解析动态链接库(DLL 或 SO 文件)中导出的函数地址。它是使用动态链接库的核心工具之一,允许你在运行时动态获取函数指针并调用动态链接库中的函数。

调用函数

c 复制代码
 getRes(参数1, 参数2, 参数3);  // 调用函数

卸载动态链接库

c 复制代码
 myLib.unload();
相关推荐
誰能久伴不乏2 小时前
深度解析 Qt 最顶层类 QObject:继承关系与内存生命周期管理
开发语言·qt
菜鸟看点4 小时前
QT中子线程触发主线程弹窗并阻塞等待用户响应-传统信号槽实现
qt
朱小勇本勇5 小时前
Qt自带示例及官方文档学习
开发语言·qt·学习
Wyn_7 小时前
【QT】自定义QWidget标题栏,可拖拽(拖拽时窗体变为normal大小),可最小/大化、关闭(图文详情)
开发语言·qt
@Turbo@7 小时前
【QT】在Qt6的`QTextEdit`中,同一行更新内容
开发语言·qt
showmeyourcode0.o7 小时前
QT常用控件(1)
开发语言·c++·qt
hvinsion10 小时前
【开源工具】Python+PyQt5打造智能桌面单词记忆工具:悬浮窗+热键切换+自定义词库
python·qt·考研·开源·英语·翻译·英语单词
hvinsion13 小时前
【开源工具】超全Emoji工具箱开发实战:Python+PyQt5打造跨平台表情管理神器
python·qt·开源·emoji·表情包
燃犀知不可乎骤得14 小时前
qt控制台程序与qt窗口程序在读取数据库中文字段的差异!!巨坑
开发语言·数据库·qt
chenzhanpeng_20 小时前
vscode 配置 QtCreat Cmake项目
ide·vscode·qt·编辑器·qt6.3