QT调用dll的三个简单案例

QT调用dll的三个简单案例

调用Windows系统DLL 可以使用LoadLibrary函数加载Windows系统DLL,然后使用GetProcAddress函数获取DLL中的函数地址,最后调用该函数。例如,要调用kernel32.dll中的GetTickCount函数,可以使用以下代码:
复制
HMODULE hModule = LoadLibrary(TEXT(“kernel32.dll”));
if (hModule != NULL) {
FARPROC pFunc = GetProcAddress(hModule, “GetTickCount”);
if (pFunc != NULL) {
DWORD dwTickCount = pFunc();
// 使用dwTickCount进行操作
}
FreeLibrary(hModule);
}
调用C++动态链接库 假设你有一个名为"mydll.dll"的C++动态链接库,其中包含一个名为"add"的函数,该函数接受两个整数参数并返回它们的和。要在QT中调用该函数,可以使用以下代码:
复制
QLibrary myDll(“mydll.dll”);
if (myDll.load()) {
typedef int (*addFunc)(int, int);
addFunc myAdd = (addFunc) myDll.resolve(“add”);
if (myAdd) {
int result = myAdd(1, 2);
// 使用result进行操作
}
myDll.unload();
}
调用C函数库 假设你有一个名为"mylib.so"的C函数库,其中包含一个名为"multiply"的函数,该函数接受两个整数参数并返回它们的积。要在QT中调用该函数,可以使用以下代码:
复制
QLibrary myLib(“mylib.so”);
if (myLib.load()) {
typedef int (*multiplyFunc)(int, int);
multiplyFunc myMultiply = (multiplyFunc) myLib.resolve(“multiply”);
if (myMultiply) {
int result = myMultiply(3, 4);
// 使用result进行操作
}
myLib.unload();
}

##ChatGPT给出的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值