回覆列表
  • 1 # 使用者5988599220565

    工具/原料 安裝有Qt整合開發環境的Windows或Linux 一、建立並生成動態連結庫 1 首先在磁碟的某個位置建立一個名為DllDemo的資料夾。 開啟QtCreator,新建工程,選擇Library,C++庫,然後就是choose。 2 然後在彈出的C++庫對話方塊預設型別共享庫,名稱為MyDll。路徑就是剛才建立的DllDemo資料夾。然後,一直下一步,直到點選完成。 3 來看看程式結構,以及pro檔案內容。 可以看到系統自動生成了一個

    mydll_global.h

    的檔案。 pro內也自動生成了一些內容。可以看到TEMPLATE = lib,而不是平時的TEMPLATE = app。 4 再來看看

    mydll_global.h

    的內容。 可以看到系統自動定義了兩個宏。用於宣告哪些函式是需要匯出的。 5 下面來給程式碼新增點內容,以便於待會使用。 首先我們在

    mydll.h

    中新增幾行程式碼, 注意:extern "C" MYDLLSHARED_EXPORT必須要有。 6 再來看看

    mydll.cpp

    中的實現程式碼,都比較簡單。 7 程式碼編寫完畢後,直接構建就行了。然後就可以看到生成的dll了。 二、測試生成的DLL 1 新建一個基於Qt的控制檯應用程式,名稱為DllTest。依然放置在DllDemo的目錄下。 2 建好了以後,就可以在

    main.cpp

    寫程式碼了。透過QLibrary類來載入dll。 因為要獲得類物件的例項,所以需要將

    mydll.h

    包含進來。 要注意的是,我沒有對函式是否成功獲取做檢測。 來看看程式碼: 3 程式碼寫完後就可以構建程式了。不過要執行程式,還需要將剛才生成的dll複製到程式的同級目錄。 4 在IDE中執行程式,因為生成的是debug版的程式,相關的環境變數未設定,無法獨立執行。 可以看到dll工作的很好,程式執行正常。 三、善用Assistant 1 最後來看看Assistant中關於QLibrary的描述。比較費解的是,Assistant中並沒有對建立共享庫做詳細的說明,估計是這個太簡單或資料太多了吧。

  • 中秋節和大豐收的關聯?
  • 女人離婚後能找到幸福嗎?