回覆列表
  • 1 # 使用者804386860247

    Qt提供了一個 QLibrary 類供顯示呼叫。下面給出一個完整的例子:

    testDLL.dll為自定義的dll檔案,將其複製到程式的輸出目錄下就可以呼叫。

    #include <QApplication>

    #include <QLibrary>

    #include <QDebug>

    #include <QMessageBox>

    typedef int (*Fun)(int,int); //定義函式指標,以備呼叫

    int main(int argc,char **argv)

    {

    QApplication app(argc,argv);

    QLibrary mylib("testDLL.dll"); //宣告所用到的dll檔案

    int result;

    if (mylib.load()) //判斷是否正確載入

    {

    QMessageBox::information(NULL,"OK","DLL load is OK!");

    Fun open=(Fun)mylib.resolve("add"); //援引 add() 函式

    if (open) //是否成功連線上 add() 函式

    {

    QMessageBox::information(NULL,"OK","Link to Function is OK!");

    result=open(5,6); //這裡函式指標呼叫dll中的 add() 函式

    qDebug()<<result;

    }

    else

    QMessageBox::information(NULL,"NO","Linke to Function is not OK!!!!");

    }

    else

    {

    QMessageBox::information(NULL,"NO","DLL is not loaded!");

    return 0; //載入失敗則退出

    }

    }

  • 中秋節和大豐收的關聯?
  • 網評:韓雪音樂劇假唱是破壞職業道德的底線,你覺得呢?