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();
相关推荐
U-52184F691 天前
深度解析:从 Qt 的 Q_D 宏说起,C++ 工业级 SDK 是如何保证 ABI 稳定性的
数据库·c++·qt
weixin_464307631 天前
QT智能指针
java·数据库·qt
code_计梦星河1 天前
Qt 开发第八天:双 TableView 实现规划板块增改功能
qt
blog.pytool.com1 天前
Ubuntu 22.04 解决 Qt 报错:Unknown module (s) in QT: qml quick
linux·qt·ubuntu
wumingqilin1 天前
QT 防抖和 节流处理
开发语言·qt
_林枭_1 天前
ZW3D二次开发_UI_ZsCcTableWidget表格控件
qt·ui·zw3d
qq_392807951 天前
Qt 注册 C++ 给 QML 调用的几种方式
数据库·c++·qt
_林枭_1 天前
ZW3D二次开发_UI_ZsCcTreeView树控件
qt·ui·zw3d
wumingqilin1 天前
Qt 中使用消息中心,一处发送,其他订阅处处理逻辑
qt
MR.P_H_1 天前
QT创建新工程,无法正常编译(Kit套件无法正常配置)
开发语言·qt