導航:首頁 > 源碼編譯 > 動態庫編譯時不檢查依賴

動態庫編譯時不檢查依賴

發布時間:2022-12-17 06:37:51

Ⅰ 求助,依賴的動態庫包含靜態庫,編譯報錯說找

動態鏈接庫和靜態鏈接庫一般是編譯集成一系列的介面(函數)
在程序源代碼編譯完成後通過編譯器編譯並通過鏈接器與這些庫進行鏈接
動態鏈接庫與靜態鏈接庫的區別在於鏈接器在進行鏈接時靜態庫會被直接編譯進程序里
而動態鏈接庫並不會,我們這里將這些鏈接庫稱作依賴(動態庫和靜態庫)
程序的運行需要這些依賴,程序在靜態鏈接後該程序本身便已包含該依賴
而動態鏈接後的程序本身本不包含該依賴,這些依賴需要執行者自行安裝進操作系統(動態庫、運行時庫)
程序運行時會動態地載入這些庫

linux上動態庫一般的後綴後為.so
靜態庫一般的後綴為.a
由於靜態鏈接會直接將庫編譯進程序里所以靜態編譯後的程序相較於動態鏈接所要大
這就是因為靜態鏈接會將鏈接庫編譯進程序里的原因,所以佔用就要大了
出於這種原因,靜態庫不易於維護與更新,如果鏈接庫中有實現有bug等需要更新則需要更新整個程序,因為靜態庫被編譯進程序中了
但動態庫就沒有這種情況了,因為動態庫是程序運行時動態載入的,所以我們只需要更新動態庫而不需要更新所有依賴該庫的程序(軟體)

另一方面,很多程序的開發都會使用到相同的鏈接庫,也就是很多程序(軟體)會有相同的依賴
如果將這些依賴全部靜態編譯的話將會造成存儲資源佔用過多而造成資源浪費
而使用動態庫的方式這些程序(軟體)則可以共享一個鏈接庫,而不需要每個程序都帶一個鏈接庫,這樣就大大地減少了存儲資源佔用空間

閱讀全文

與動態庫編譯時不檢查依賴相關的資料

熱點內容
中央文獻研究室和中央編譯局 瀏覽:967
濟南圖紙加密 瀏覽:372
雲伺服器如何擴展 瀏覽:944
ug裝配體存多個文件夾 瀏覽:936
對數運演算法則題目及解析 瀏覽:104
rar解壓軟體怎麼變成中文顯示 瀏覽:800
為什麼我蘋果手機app上沒有微信 瀏覽:361
用python寫一個三角形 瀏覽:748
足球俱樂部網站源碼 瀏覽:147
為什麼蘋果耳機連安卓沒有聲音 瀏覽:513
解壓文件一直載入不出來 瀏覽:437
蘋果伺服器能看到什麼 瀏覽:519
單片機7段數碼管顯示 瀏覽:792
python接入紅包 瀏覽:156
少女絕對命令 瀏覽:7
我的世界伺服器怎麼造房子不被挖 瀏覽:329
美國有什麼購物app好用的 瀏覽:442
庫圖片默認文件夾 瀏覽:411
微信加密能退出嗎 瀏覽:394
程序員看劇不用買會員 瀏覽:592