1. 程式人生 > >windows下動態庫dll和靜態庫編譯和使用問題

windows下動態庫dll和靜態庫編譯和使用問題

window下動態庫dll和靜態庫lib問題

windows下動態庫dll和靜態庫lib的聯絡和區別,以及示例匯出個動態庫
https://blog.csdn.net/lifei092/article/details/79630273

問題:
1,生成dll時,同時生成lib是做什麼的?

  • lib是dll中的索引,可以這麼理解。lib是編譯的時候用,編譯完後,就不再需要了。執行時只需要dll。

2,我自己編譯的庫使用第三方庫需要怎麼使用?

  • 首先下載第三方程式碼,自己編譯不同平臺的庫。在自己的程式碼中,一種方式是在屬性->連結器中設定庫.lib(針對vs編譯器)。另一種方式是#pragma comment(lib,“Mwic_32.lib”) 程式中連線庫,預處理指令連結。兩個效果一樣。
    使用lib庫參考:
    https://blog.csdn.net/liruda/article/details/2230617

3,如何匯出函式或者全域性變數?

  • 一種方式是使用DEF檔案;另一種方式是使用_declspec(dllexport)。
    使用庫的函式,直接包含標頭檔案,使用函式就行。
    使用庫匯出的全域性變數有兩種方式:最好的方式是用_declspec(dllimport)匯入。
    參考地址:https://www.cnblogs.com/luzhiyuan/p/3947576.html