1 靜態(tài)鏈接庫的優(yōu)點
(1) 代碼裝載速度快,執(zhí)行速度略比動態(tài)鏈接庫快;
(2) 只需保證在開發(fā)者的計算機(jī)中有正確的.LIB文件,在以二進(jìn)制形式發(fā)布程序時不需考慮在用戶的計算機(jī)上.LIB文件是否存在及版本問題,可避免DLL地獄等問題。
2 動態(tài)鏈接庫的優(yōu)點
(1) 更加節(jié)省內(nèi)存并減少頁面交換;
(2) DLL文件與EXE文件獨立,只要輸出接口不變(即名稱、參數(shù)、返回值類型和調(diào)用約定不變),更換DLL文件不會對EXE文件造成任何影響,因而極大地提高了可維護(hù)性和可擴(kuò)展性;
(3) 不同編程語言編寫的程序只要按照函數(shù)調(diào)用約定就可以調(diào)用同一個DLL函數(shù);
(4)適用于大規(guī)模的軟件開發(fā),使開發(fā)過程獨立、耦合度小,便于不同開發(fā)者和開發(fā)組織之間進(jìn)行開發(fā)和測試。
3 不足之處
(1) 使用靜態(tài)鏈接生成的可執(zhí)行文件體積較大,包含相同的公共代碼,造成浪費;
(2) 使用動態(tài)鏈接庫的應(yīng)用程序不是自完備的,它依賴的DLL模塊也要存在,如果使用載入時動態(tài)鏈接,程序啟動時發(fā)現(xiàn)DLL不存在,系統(tǒng)將終止程序并給出錯誤信息。而使用運行時動態(tài)鏈接,系統(tǒng)不會終止,但由于DLL中的導(dǎo)出函數(shù)不可用,程序會加載失敗;速度比靜態(tài)鏈接慢。當(dāng)某個模塊更新后,如果新模塊與舊的模塊不兼容,那么那些需要該模塊才能運行的軟件,統(tǒng)統(tǒng)撕掉。這在早期Windows中很常見。
還有一點區(qū)別:
靜態(tài)庫在程序編譯時會被連接到目標(biāo)代碼中,程序運行時將不再需要該靜態(tài)庫。
動態(tài)庫在程序編譯時并不會被連接到目標(biāo)代碼中,而是在程序運行是才被載入,因此在程序運行時還需要動態(tài)庫存在。
靜態(tài)庫是指編譯鏈接時,把庫文件的代碼全部
加載到可執(zhí)行文件中,因此生成的文件比較大,但在運行時也就不再需要庫文件了。其后
綴名一般為“.a” 。 動態(tài)庫與之相反,在編譯鏈接時并沒有把庫文件的代碼加載到可執(zhí)行
文件中,而是在程序執(zhí)行時由運行時鏈接文件加載庫,這樣可以節(jié)省系統(tǒng)的開銷。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
名稱欄目:動態(tài)鏈接庫與靜態(tài)鏈接庫-創(chuàng)新互聯(lián)
鏈接URL:http://chinadenli.net/article0/cejcio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、搜索引擎優(yōu)化、品牌網(wǎng)站制作、網(wǎng)站排名、移動網(wǎng)站建設(shè)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容