優缺點
分清楚二者區別之后,二者的優缺點就自然可以分出來了。
優點 缺點
靜態庫 1、 使可執行文件依賴項少,已經被打包到可執行文件中了 1、 使可執行文件變大
2、 編譯階段完成鏈接,執行期間代碼裝載速度快 2、 若作為其他庫的依賴庫,將會造成多余的副本,因為必須與目標文件打包
3、 升級不方便,升級必須重新編譯
動態庫 1、 動態庫可以實現進程之間資源共享,有一份就行 1、 運行期間在加載,將會減慢代碼執行速度
2、 升級程序簡單,不需要重新編譯 2、 增加程序的依賴項,必須跟着可執行文件一起
文件形式
Windows Linux
靜態庫 .lib Libxxx.a
動態庫 .dll與.lib libxxx.so
參考鏈接:https://www.jianshu.com/p/7175cc69b10a
https://blog.csdn.net/a369189453/article/details/81124685
https://www.jb51.net/article/43743.htm