1. 程式人生 > >什麼情況下,VC的DLL工程只生成DLL,不生成LIB檔案

什麼情況下,VC的DLL工程只生成DLL,不生成LIB檔案

必須至少匯出一個函式或者變數或者類。
沒有匯出的話就不生成LIB。

--------------------------------------------------------
如果LIB是靜態庫則不需要DLL 。
如果LIB是動態連結的,那麼就必須找到DLL 。
動態連結時,LIB只包含簡單的DLL匯出定義和輔助連結,並不包含可執行實體。

--------------------------------------------------------
動態連結與靜態連結的不同之處在於:
動態連結允許可執行模組(.dll 檔案或 .exe 檔案)僅包含在執行時定位 DLL 函式的可執行程式碼所需的資訊。
在靜態連結中,連結器從靜態連結庫獲取所有被引用的函式,並將庫同程式碼一起放到可執行檔案中。

--------------------------------------------------------
lib字尾的庫有兩種:
一種為靜態連結庫(Static Libary,簡稱“靜態庫”);
另一種為動態連線庫(DLL,簡稱“動態庫”)的匯入庫(Import Libary,簡稱“匯入庫”)。