QT显式调用DLL的例子

//调用dll QLibrary HttpFtpLib("./lib/HttpFtp"); //后缀dll不用写 if(!HttpFtpLib.load()){ /* 用load()来加载dll成功*/ QMessageBox::information(NULL,"dll","Dll can't load"); }else{ typedef char* (*HttpFtp_GetVerInfoFunc)(); //定义一个函数指针。用于调用dll中的方法 typedef void (*HttpFtp_StartupFunc)(); //定义函数指针 HttpFtp_StartupFunc httpFtp_StartupFunc =(HttpFtp_StartupFunc)HttpFtpLib.resolve("HttpFtp_Startup"); //援引 dll中的HttpFtp_Startup() 函数 HttpFtp_GetVerInfoFunc httpFtp_GetVerInfoFunc =(HttpFtp_GetVerInfoFunc)HttpFtpLib.resolve("HttpFtp_GetVerInfo"); //援引 dll中的HttpFtp_GetVerInfo() 函数 if (httpFtp_GetVerInfoFunc && httpFtp_StartupFunc){//是否成功连接上dll中的函数 httpFtp_StartupFunc(); QMessageBox::information(NULL,QObject::tr("版本信息"),httpFtp_GetVerInfoFunc()); }else{ QMessageBox::information(NULL,"Method",QObject::tr("HttpFtp_GetVerInfoFunc没有被载入")); } } //dll调用结束

你可能感兴趣的:(QT显式调用DLL的例子)