linux动态库链接顺序(linux动态库的链接)
linux動(dòng)態(tài)庫版本不一致怎么辦?
linux動(dòng)態(tài)庫版本不一致需要重新安裝版本一致的動(dòng)態(tài)庫
linux靜態(tài)庫和動(dòng)態(tài)庫有什么區(qū)別?
動(dòng)態(tài)鏈接庫和靜態(tài)鏈接庫一般是編譯集成一系列的接口(函數(shù))在程序源代碼編譯完成后通過編譯器編譯并通過鏈接器與這些庫進(jìn)行鏈接動(dòng)態(tài)鏈接庫與靜態(tài)鏈接庫的區(qū)別在于鏈接器在進(jìn)行鏈接時(shí)靜態(tài)庫會(huì)被直接編譯進(jìn)程序里而動(dòng)態(tài)鏈接庫并不會(huì),我們這里將這些鏈接庫稱作依賴(動(dòng)態(tài)庫和靜態(tài)庫)程序的運(yùn)行需要這些依賴,程序在靜態(tài)鏈接后該程序本身便已包含該依賴而動(dòng)態(tài)鏈接后的程序本身本不包含該依賴,這些依賴需要執(zhí)行者自行安裝進(jìn)操作系統(tǒng)(動(dòng)態(tài)庫、運(yùn)行時(shí)庫)程序運(yùn)行時(shí)會(huì)動(dòng)態(tài)地加載這些庫linux上動(dòng)態(tài)庫一般的后綴后為.so靜態(tài)庫一般的后綴為.a由于靜態(tài)鏈接會(huì)直接將庫編譯進(jìn)程序里所以靜態(tài)編譯后的程序相較于動(dòng)態(tài)鏈接所要大這就是因?yàn)殪o態(tài)鏈接會(huì)將鏈接庫編譯進(jìn)程序里的原因,所以占用就要大了出于這種原因,靜態(tài)庫不易于維護(hù)與更新,如果鏈接庫中有實(shí)現(xiàn)有bug等需要更新則需要更新整個(gè)程序,因?yàn)殪o態(tài)庫被編譯進(jìn)程序中了但動(dòng)態(tài)庫就沒有這種情況了,因?yàn)閯?dòng)態(tài)庫是程序運(yùn)行時(shí)動(dòng)態(tài)加載的,所以我們只需要更新動(dòng)態(tài)庫而不需要更新所有依賴該庫的程序(軟件)另一方面,很多程序的開發(fā)都會(huì)使用到相同的鏈接庫,也就是很多程序(軟件)會(huì)有相同的依賴如果將這些依賴全部靜態(tài)編譯的話將會(huì)造成存儲(chǔ)資源占用過多而造成資源浪費(fèi)而使用動(dòng)態(tài)庫的方式這些程序(軟件)則可以共享一個(gè)鏈接庫,而不需要每個(gè)程序都帶一個(gè)鏈接庫,這樣就大大地減少了存儲(chǔ)資源占用空間
總結(jié)
以上是生活随笔為你收集整理的linux动态库链接顺序(linux动态库的链接)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网页益智游戏怎么制作_休息一下,或者:如
- 下一篇: 境外ddos(海外ddos怎么做)