直接上源代码:
//author:autumoon
//联系QQ:4589968
//日期:2022-02-28
#ifndef HEARTBEATDLL_H
#define HEARTBEATDLL_H
int HeartBeatDll(const char* szIp, const int& nPort, int* nCpuUsage, int* nMemUsage);
#endif // HEARTBEATDLL_H
实现文件:
//author:autumoon
//联系QQ:4589968
//日期:2022-02-28
#include "HeartBeatDll.h"
#include <QLibrary>
typedef int (*HeartBeat)(const char* szIp, const int& nPort, int* nCpuUsage, int* nMemUsage);
int HeartBeatDll(const char *szIp, const int &nPort, int *nCpuUsage, int *nMemUsage)
{
QLibrary mylib("HttpClientDll.dll");
if(mylib.load())
{
HeartBeat open=(HeartBeat)mylib.resolve("HeartBeat"); //HeartBeat"为DLL包含的实际函数名,必须实际存在
if(open)
{
int ret; //函数返回值
ret=open(szIp, nPort, nCpuUsage, nMemUsage);
return ret;
}
}
return -1;
}
主要是使用了QLibrary函数,基于C方式的导出即可。
测试界面: