引入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();