2011年2月23日 星期三

Qt 動態載入 DLL

在Qt中要動態載入DLL檔可以用QLibrary來載入
首先

#include < QLibrary >
定義Function
typedef void (*Function_Name)(int 參數1,int 參數2 , ...);

然後在程式中載入的方法是

QLibrary testlib("DLL_Name"); //此處DLL_Name不用加.dll

if(test_lib.load())//載入dll並判斷是否成功
{
qDebug()<<"load dll ok.";
//宣告Function(DLL_Function_Name為DLL檔裡定義的Function名稱)
Function_Name test_function = (Function_Name)test_lib.resolve("DLL_Function_Name");
//現在可以使用Function了
if(test_function)
{
int a = 0;
int b = 0;

test_function( a, b );
}
}else{
qDebug()<<"load dll fail.";
}

沒有留言: