Qt提供了一个 QLibrary 类供显示调用
一、QT DLL接口:
extern "C" Q_DECL_EXPORT bool ProcessData (float *InputData,int Length,Paramter Param, SunShine *RetStructs,int *RetNum)
二、C#调用QT DLL方法:
typedef bool (*Fun)(float*, int, Paramter, SunShine*,int*); //定义函数指针,以备调用
QLibrary mylib("StdCore.dll");//声明所用到的dll文件
if (mylib.load())//判断是否正确加载
{
Fun open=(Fun)mylib.resolve("ProcessData");//援引ProcessData()函数
if (open)//是否成功连接上ProcessData()函数
{
bool ret = open(Data,DataNum,Param,Sun,&RetNum); //这里函数指针调用dll中的函数
qDebug()<<"Result:"<<ret;
}
}
else
qDebug()<<"DLL is not loaded!";