卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

linux靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)的區(qū)別 linux動(dòng)態(tài)庫(kù)和靜態(tài)庫(kù)的區(qū)別?

linux動(dòng)態(tài)庫(kù)和靜態(tài)庫(kù)的區(qū)別?通常編譯動(dòng)態(tài)鏈接庫(kù)和靜態(tài)鏈接庫(kù)來(lái)集成一系列接口(函數(shù))程序源代碼編譯后,它是由編譯器編譯并通過(guò)鏈接器鏈接到這些庫(kù)中的動(dòng)態(tài)鏈接庫(kù)和靜態(tài)鏈接庫(kù)的區(qū)別是鏈接器鏈接時(shí)靜態(tài)鏈接庫(kù)

linux動(dòng)態(tài)庫(kù)和靜態(tài)庫(kù)的區(qū)別?

通常編譯動(dòng)態(tài)鏈接庫(kù)和靜態(tài)鏈接庫(kù)來(lái)集成一系列接口(函數(shù))

程序源代碼編譯后,它是由編譯器編譯并通過(guò)鏈接器鏈接到這些庫(kù)中的

動(dòng)態(tài)鏈接庫(kù)和靜態(tài)鏈接庫(kù)的區(qū)別是鏈接器鏈接時(shí)靜態(tài)鏈接庫(kù)會(huì)直接編譯到程序中

但是動(dòng)態(tài)鏈接庫(kù)不會(huì)被編譯,這些鏈接庫(kù)稱為依賴關(guān)系(動(dòng)態(tài)庫(kù)和靜態(tài)庫(kù))

程序的運(yùn)行需要這些依賴關(guān)系。程序靜態(tài)鏈接后,程序本身已包含此依賴項(xiàng)

但動(dòng)態(tài)鏈接的程序本身不包含此依賴項(xiàng)。這些依賴項(xiàng)需要執(zhí)行器將它們安裝到操作系統(tǒng)中(動(dòng)態(tài)庫(kù)和運(yùn)行時(shí)庫(kù))

這些庫(kù)將在程序運(yùn)行時(shí)動(dòng)態(tài)加載

Linux動(dòng)態(tài)庫(kù)的一般后綴為。所以

靜態(tài)庫(kù)的一般后綴是。A

因?yàn)殪o態(tài)鏈接會(huì)直接將庫(kù)編譯到程序中,靜態(tài)編譯的程序比動(dòng)態(tài)鏈接的程序大

這是因?yàn)殪o態(tài)鏈接會(huì)將鏈接庫(kù)編譯到程序中,所以占用的空間會(huì)更大

因此,如果有靜態(tài)鏈接庫(kù),靜態(tài)庫(kù)不易維護(hù)和更新實(shí)現(xiàn)中的bug,整個(gè)程序需要更新,因?yàn)殪o態(tài)庫(kù)被編譯到程序中

而動(dòng)態(tài)庫(kù)沒(méi)有這種情況,因?yàn)閯?dòng)態(tài)庫(kù)是在程序運(yùn)行時(shí)動(dòng)態(tài)加載的,所以我們只需要更新動(dòng)態(tài)庫(kù),而不需要更新所有依賴該庫(kù)的程序(軟件)

]另一方面,許多程序開(kāi)發(fā)都會(huì)使用相同的方法鏈接庫(kù),也就是說(shuō),許多程序(軟件)將具有相同的依賴關(guān)系

如果所有這些依賴關(guān)系都是靜態(tài)編譯的,它會(huì)造成存儲(chǔ)資源的過(guò)度消耗和資源的浪費(fèi)

并且通過(guò)使用動(dòng)態(tài)鏈接庫(kù),這些程序(軟件)可以共享一個(gè)鏈接庫(kù),而每個(gè)程序都沒(méi)有鏈接庫(kù),這大大減少了存儲(chǔ)資源的消耗空間

動(dòng)態(tài)鏈接庫(kù)和靜態(tài)鏈接庫(kù)一般都是編譯的集成一系列接口(功能)。程序源代碼編譯后,由編譯器編譯并通過(guò)鏈接器與這些庫(kù)鏈接。動(dòng)態(tài)鏈接庫(kù)與靜態(tài)鏈接庫(kù)的區(qū)別在于,當(dāng)鏈接器鏈接時(shí),靜態(tài)鏈接庫(kù)會(huì)直接編譯到程序中,而動(dòng)態(tài)鏈接庫(kù)不會(huì)將這些鏈接庫(kù)稱為依賴關(guān)系(動(dòng)態(tài)鏈接庫(kù)和靜態(tài)鏈接庫(kù))。程序的運(yùn)行需要這些依賴關(guān)系。程序靜態(tài)鏈接后,程序本身包含依賴項(xiàng),而動(dòng)態(tài)鏈接的程序本身不包含依賴項(xiàng)。這些依賴關(guān)系需要執(zhí)行者自己將它們安裝到操作系統(tǒng)(動(dòng)態(tài)庫(kù)和運(yùn)行庫(kù))中。當(dāng)程序運(yùn)行時(shí),這些庫(kù)將在Linux上動(dòng)態(tài)加載,狀態(tài)庫(kù)的一般后綴為。所以,靜態(tài)庫(kù)的一般后綴是。A.由于靜態(tài)鏈接將庫(kù)直接編譯到程序中,因此靜態(tài)編譯的程序比動(dòng)態(tài)鏈接大。這是因?yàn)殪o態(tài)鏈接會(huì)將鏈接庫(kù)編譯成程序,所以占用空間會(huì)很大。因此,靜態(tài)庫(kù)不容易維護(hù)和更新,如果鏈接庫(kù)中有真實(shí)的鏈接,如果現(xiàn)有的bug需要更新,整個(gè)程序都需要更新,因?yàn)殪o態(tài)庫(kù)是編譯到程序中的,而動(dòng)態(tài)庫(kù)則不需要。因?yàn)閯?dòng)態(tài)庫(kù)是在程序運(yùn)行時(shí)動(dòng)態(tài)加載的,所以我們只需要更新動(dòng)態(tài)庫(kù),而不需要更新依賴于動(dòng)態(tài)庫(kù)的所有程序(軟件)。另一方面,許多程序使用相同的鏈接庫(kù),換句話說(shuō),許多程序(軟件)將具有相同的依賴關(guān)系。如果這些依賴項(xiàng)是靜態(tài)編譯的,則會(huì)導(dǎo)致過(guò)多的存儲(chǔ)資源和資源浪費(fèi)。通過(guò)使用動(dòng)態(tài)庫(kù)的方式,這些程序(軟件)可以共享一個(gè)鏈接庫(kù),而不是每個(gè)程序共享一個(gè)鏈接庫(kù),大大減少了存儲(chǔ)資源

Linux的函數(shù)庫(kù)包括兩種:靜態(tài)庫(kù)和共享庫(kù)(動(dòng)態(tài)庫(kù))。靜態(tài)庫(kù)的代碼在編譯時(shí)與開(kāi)發(fā)人員的應(yīng)用程序相連接,動(dòng)態(tài)庫(kù)的實(shí)際程序在運(yùn)行時(shí)加載。由于動(dòng)態(tài)庫(kù)不包含庫(kù)函數(shù)的實(shí)現(xiàn)代碼,而只包含對(duì)函數(shù)庫(kù)的引用,程序代碼規(guī)模相對(duì)較小,動(dòng)態(tài)庫(kù)的擴(kuò)展性較差。因此,靜態(tài)鏈接庫(kù)包括。A和版本號(hào)。你可能測(cè)試不一樣,實(shí)現(xiàn)代碼也可能不一樣。動(dòng)態(tài)庫(kù)通常做得很好,而且通常比靜態(tài)庫(kù)好。當(dāng)然,這些功能已經(jīng)實(shí)現(xiàn)了。我想我不太熟悉的時(shí)候最好用動(dòng)態(tài)庫(kù)。因?yàn)?,如果您的靜態(tài)庫(kù)在內(nèi)存中被多次調(diào)用,那么將有許多您調(diào)用的靜態(tài)庫(kù)實(shí)現(xiàn)代碼,這些代碼將被重復(fù)并浪費(fèi)內(nèi)存,并且在程序執(zhí)行時(shí)將調(diào)用動(dòng)態(tài)庫(kù)