新聞中心
靜態(tài)庫和動態(tài)庫的區(qū)別有哪些?
服務(wù)器應(yīng)用,為了盡可能減小環(huán)境的影響,避免開發(fā)和線上環(huán)境的差別,以及同機(jī)器其他應(yīng)用的影響,即使用動態(tài)庫我們也傾向于把所有用到的庫打包。(最新的思路是把整個文件系統(tǒng)打包,如Docker)這是前提。那么靜態(tài)鏈接的優(yōu)點(diǎn)是:

創(chuàng)新互聯(lián)是專業(yè)的浦江網(wǎng)站建設(shè)公司,浦江接單;提供成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行浦江網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
1. 省空間:linker只會復(fù)制你用到的objects。
2. 打包簡單。實(shí)際上動態(tài)庫原名就是shared objects,如果沒準(zhǔn)備share,用動態(tài)庫實(shí)在沒什么好處。除非:
3. 應(yīng)用是多executable,多進(jìn)程結(jié)構(gòu),那么動態(tài)庫既省內(nèi)存又省磁盤空間。
4. 應(yīng)用要動態(tài)加載進(jìn)程內(nèi)插件:進(jìn)程空間內(nèi)多份靜態(tài)庫煩死你。
linux動態(tài)庫和靜態(tài)庫的區(qū)別?
動態(tài)鏈接庫和靜態(tài)鏈接庫一般是編譯集成一系列的接口(函數(shù))
在程序源代碼編譯完成后通過編譯器編譯并通過鏈接器與這些庫進(jìn)行鏈接
動態(tài)鏈接庫與靜態(tài)鏈接庫的區(qū)別在于鏈接器在進(jìn)行鏈接時靜態(tài)庫會被直接編譯進(jìn)程序里
而動態(tài)鏈接庫并不會,我們這里將這些鏈接庫稱作依賴(動態(tài)庫和靜態(tài)庫)
程序的運(yùn)行需要這些依賴,程序在靜態(tài)鏈接后該程序本身便已包含該依賴
而動態(tài)鏈接后的程序本身本不包含該依賴,這些依賴需要執(zhí)行者自行安裝進(jìn)操作系統(tǒng)(動態(tài)庫、運(yùn)行時庫)
程序運(yùn)行時會動態(tài)地加載這些庫
linux上動態(tài)庫一般的后綴后為.so
靜態(tài)庫一般的后綴為.a
由于靜態(tài)鏈接會直接將庫編譯進(jìn)程序里所以靜態(tài)編譯后的程序相較于動態(tài)鏈接所要大
動態(tài)鏈接庫和靜態(tài)鏈接庫的區(qū)別?
動態(tài)鏈接 是只建立一個引用的接口,而真正的代碼和數(shù)據(jù)存放在另外的可執(zhí)行模塊中,在運(yùn)行時再裝入; 而 靜態(tài)鏈接 是把所有的代碼和數(shù)據(jù)都復(fù)制到本模塊中,運(yùn)行時就不再需要庫了
到此,以上就是小編對于windows靜態(tài)庫和動態(tài)庫的區(qū)別的問題就介紹到這了,希望這3點(diǎn)解答對大家有用。
本文標(biāo)題:靜態(tài)庫和動態(tài)庫的區(qū)別有哪些?windows靜態(tài)庫和動態(tài)庫的區(qū)別
網(wǎng)頁URL:http://m.5511xx.com/article/ccooiso.html


咨詢
建站咨詢
