我試圖理解我已經下載的Visual Studio項目。有兩個文件夾一個bin和一個lib文件夾。 lib文件夾中的lib文件數大於bin文件夾中的dll數。項目包含比DLL文件更多的lib
我以爲每個dll文件都可能有一個lib文件(目標文件庫)。所以項目中的lib文件的數量等於或低於dll的數量。但在下載的項目中,其他方式呢?!這是什麼原因?有些lib文件是靜態鏈接的嗎?
非常感謝您的幫助。
我試圖理解我已經下載的Visual Studio項目。有兩個文件夾一個bin和一個lib文件夾。 lib文件夾中的lib文件數大於bin文件夾中的dll數。項目包含比DLL文件更多的lib
我以爲每個dll文件都可能有一個lib文件(目標文件庫)。所以項目中的lib文件的數量等於或低於dll的數量。但在下載的項目中,其他方式呢?!這是什麼原因?有些lib文件是靜態鏈接的嗎?
非常感謝您的幫助。
當然有lib的沒有相應的dll。如果您將項目類型設置爲「靜態庫」,則您的輸出將是一個只能靜態鏈接到另一個lib,dll或exe的lib文件。
當你創建一個dll時,會自動創建一個lib文件,它負責方便地包裝LoadLibrary
和GetProcAddress
調用。你靜態鏈接到這個庫,它會爲你加載DLL。
沒有dll的libs在編譯時靜態鏈接到exe,而dll被編譯到他們自己的dll文件中。 dll通常是最好的,可以在不更換exe的情況下編譯和交換dll。但是,一些項目只有靜態鏈接庫,導致一個更大的EXE沒有DLL。
感謝您的回答和快速回復。 – TerenceChill
感謝您的回答和快速回復。 – TerenceChill