何時使用動態(tài)庫和靜態(tài)庫在C ++中創(chuàng)建類庫時,可以在動態(tài)(.dll,.so)和靜態(tài)(.lib,.a)庫之間進行選擇。它們之間有什么區(qū)別,何時適合使用哪種?
3 回答

拉風的咖菲貓
TA貢獻1995條經(jīng)驗 獲得超2個贊
靜態(tài)庫會增加二進制代碼的大小。它們總是被加載,并且您編譯的代碼的任何版本都是將運行的代碼的版本。
動態(tài)庫分別存儲和版本化。如果更新被認為與原始版本二進制兼容,則可能會加載一個與您的代碼一起提供的原始動態(tài)庫版本。
另外,動態(tài)庫不一定要加載 - 它們通常在第一次調(diào)用時加載 - 并且可以在使用相同庫的組件之間共享(多個數(shù)據(jù)加載,一個代碼加載)。
大多數(shù)時候動態(tài)庫被認為是更好的方法,但最初他們有一個主要的缺陷(谷歌DLL地獄),它已被最近的Windows操作系統(tǒng)(特別是Windows XP)淘汰。
- 3 回答
- 0 關注
- 759 瀏覽
添加回答
舉報
0/150
提交
取消