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();
相关推荐
用户805533698037 小时前
不止三件套:QObject 属性系统全关键字与运行时反射!
c++·qt
xcyxiner8 小时前
DicomViewer (vcpkg Windows和ubuntu编译)7
qt
Quz5 天前
QML Hello World 入门示例
qt
xcyxiner8 天前
DicomViewer (dcmtk读取dcm文件)5
qt
xcyxiner9 天前
DicomViewer (后台线程处理文件)4
qt
xcyxiner9 天前
DicomViewer (添加模型类)3
qt
xcyxiner10 天前
DicomViewer (目录调整) 2
qt
xcyxiner10 天前
dcmtk vtk vtk-dicom(gdcm) 编译(debug) v2
qt
桥田智能12 天前
桥田智能 QT-650S:面向白车身焊装的 800kg 重载快换解决方案
开发语言·qt·系统架构
森G12 天前
75、服务器源码解析---------云视频服务项目
linux·服务器·网络·c++·qt