准备DLL:我用的Mydll.dll
#include <QDebug>
#include <QLibrary>
#define CUST_API _stdcall
typedef int (CUST_API *CalcOprt)(int ia,int ib);
int main(int argc, char *argv[])
{
// 指定要加载的 DLL 文件,我用的绝对路径
QLibrary myLib("D:/diao/Call/Mydll.dll");
if (myLib.load()){ qDebug() << "DLL loaded successfully";}
// 我们的函数指针去 获取DLL库中的 函数的地址(函数名)
CalcOprt addFunc = (CalcOprt)myLib.resolve("Max");
qDebug() << "Result of MaxValue:" << addFunc(3, 9);
myLib.unload(); // 卸载 DLL
return 0;
}
正常运行
解释一下:
#include <QLibrary>
//window提供的标准接口宏
#define CUST_API _stdcall
//声明函数指针
typedef int (CUST_API *CalcOprt)(int ia,int ib);
// 指定要加载的 DLL 文件
QLibrary myLib("D:/diao/Call/Mydll.dll");
//加载成功了吗?
if (myLib.load()){ qDebug() << "DLL loaded successfully";}
// 我们的函数指针去 获取DLL库中的 函数的地址(函数名)
CalcOprt addFunc = (CalcOprt)myLib.resolve("Max");