簡體   English   中英

Visual Studio中的靜態庫與DLL

[英]Static lib vs DLL in visual studio

我已經使用dll和.lib文件在計算機中構建了VTK 當我要創建使用VTK的項目時,必須在項目屬性中包含頭文件和鏈接.lib文件。 另外,我還必須將.dll文件添加到項目路徑中。 我對此有幾個問題,

  1. .libs和.dll文件有什么區別?
  2. 是否可以僅使用.dll或.lib文件來創建項目。 (我可以鏈接.lib文件而不將dll添加到路徑或將dll添加到路徑並且不鏈接.lib文件)?

如有任何解釋,我將不勝感激。 謝謝。

  1. 鏈接器使用.lib文件來解析導入的項目。 .dll文件包含在運行時動態加載的代碼。

  2. 如果您有靜態庫,則它包含所有需要的代碼,並且沒有.dll。 如果您有.dll,則還需要隨附的.lib才能正確鏈接。

.lib文件僅在編譯期間由鏈接器使用。 而.dll文件在執行過程中由編譯的exe使用。 換句話說,在編譯程序后,您將不再需要.lib文件。 打包軟件以進行分發時,您只需要.exe,.dll文件以及未打包到exe文件中的所有資源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM