您好,登錄后才能下訂單哦!
?擴(kuò)展名:.a
?編譯行為:在編譯的時(shí)候,將函數(shù)庫直接整合到執(zhí)行程序中(所以利用靜態(tài)庫編譯生成的文檔會(huì)更大)
?獨(dú)立執(zhí)行的狀態(tài):編譯成功的可執(zhí)行文件可以獨(dú)立運(yùn)行,不需要再向外部要求讀取函式庫的內(nèi)容
?更新:如果函式庫更新,需要將整個(gè)項(xiàng)目程序重新編譯
?好處:方便程序移植
?擴(kuò)展名:.so
?編譯行為:在編譯的時(shí)候,程序里面僅有指向動(dòng)態(tài)庫所在的指標(biāo),其內(nèi)容并沒有被整合到執(zhí)行文件中。所以,在程序運(yùn)行之初不需要加載所有代碼,只有在用到函式庫中的某個(gè)函數(shù)時(shí),程序才會(huì)去讀取動(dòng)態(tài)庫的內(nèi)容(所以利用動(dòng)態(tài)庫編譯生成的文檔會(huì)小些)
?獨(dú)立執(zhí)行的狀態(tài):編譯成功的可執(zhí)行文件不能獨(dú)立執(zhí)行,函式庫必須存在,而且?guī)焖诘哪夸浺膊荒芨淖?。(移?dòng)之后,必須重新編譯鏈接)
?更新:如果函式庫更新,不需要重新編譯,因?yàn)閳?zhí)行文件里僅有庫的位置(前提是函式庫名稱、位置都沒變)
?好處:
1) 只保留接口,將動(dòng)態(tài)庫和程序代碼獨(dú)立,提高代碼的可復(fù)用性,降低程序耦合度。
2) 節(jié)約內(nèi)存,減少頁面交換。
比如:計(jì)算機(jī)同時(shí)運(yùn)行多個(gè)程序,都應(yīng)用static.a,在內(nèi)存中就會(huì)存在多份拷貝。一旦程序數(shù)量過多,就有可能內(nèi)存不足。
而在動(dòng)態(tài)庫在內(nèi)存中只存在一份拷貝,不會(huì)浪費(fèi)空間。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。