靜态連結庫與動态連結庫
靜态連結庫( ),也就是你經常看到的*.lib檔案;動态連結庫(Dynamic Link Library),也就是你經常看到的*.dll檔案。如果你是初學者或者對靜态庫與動态庫還沒有概念,可以先将其了解為一種倉庫,它提供給你一些可以直接拿來用的變量、函數或類,在倉庫的發展曆史中,經曆了“無庫-->靜态庫-->動态庫”的過程。
1.靜态庫(lib)将導出聲明和實作都放在lib中。編譯時把(lib)檔案中被用到的所有函數代碼直接連結進目标程式(如exe檔案);動态庫(dll)相當于一個h檔案,是對實作部分(.dll檔案)的導出部分的聲明。編譯後隻是将導出聲明部分編譯到宿主程式中,運作時候需要相應的dll檔案支援。
2.靜态連結庫中不能再包含其他的動态連結庫或者靜态庫,而在動态連結庫中還可以再包含其他的動态或靜态連結庫。
3.使用靜态庫時要同時包含.lib和.h檔案。
關于動态庫的更詳細介紹,已經有高人總結的很詳細了,我就不班門弄斧了。
請看以下學習資料:《》