站長(zhǎng)資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        linux中動(dòng)態(tài)鏈接和靜態(tài)鏈接的區(qū)別是什么

        區(qū)別:1、靜態(tài)鏈接的進(jìn)行是在形成可執(zhí)行程序前,而動(dòng)態(tài)鏈接的進(jìn)行則是在程序執(zhí)行時(shí);2、靜態(tài)鏈接庫(kù)的代碼裝載速度快,執(zhí)行速度略比動(dòng)態(tài)鏈接庫(kù)快;3、和動(dòng)態(tài)鏈接相比,靜態(tài)鏈接生成的可執(zhí)行文件體積較大。

        linux中動(dòng)態(tài)鏈接和靜態(tài)鏈接的區(qū)別是什么

        本教程操作環(huán)境:linux5.9.8系統(tǒng)、Dell G3電腦。

        linux中動(dòng)態(tài)鏈接和靜態(tài)鏈接

        編譯鏈接的過(guò)程

        編譯分為3步,首先對(duì)源文件進(jìn)行預(yù)處理,這個(gè)過(guò)程主要是處理一些#號(hào)定義的命令或語(yǔ)句(如宏、#include、預(yù)編譯指令#ifdef等),生成*.i文件;然后進(jìn)行編譯,這個(gè)過(guò)程主要是進(jìn)行詞法分析、語(yǔ)法分析和語(yǔ)義分析等,生成*.s的匯編文件;最后進(jìn)行匯編,這個(gè)過(guò)程比較簡(jiǎn)單,就是將對(duì)應(yīng)的匯編指令翻譯成機(jī)器指令,生成可重定位的二進(jìn)制目標(biāo)文件。

        鏈接的兩種方式

        • 靜態(tài)鏈接

        • 動(dòng)態(tài)鏈接

        靜態(tài)鏈接和動(dòng)態(tài)鏈接兩者最大的區(qū)別就在于鏈接的時(shí)機(jī)不一樣,靜態(tài)鏈接的進(jìn)行是在形成可執(zhí)行程序前,而動(dòng)態(tài)鏈接的進(jìn)行則是在程序執(zhí)行時(shí)。

        靜態(tài)鏈接庫(kù)的優(yōu)點(diǎn)

        a):代碼裝載速度快,執(zhí)行速度略比動(dòng)態(tài)鏈接庫(kù)快;

        b):只需要保證在開(kāi)發(fā)這段計(jì)算機(jī)中有正確的.lib文件,再以二進(jìn)制形式發(fā)布程序時(shí)不需要考慮用戶的計(jì)算機(jī)上的.lib文件是否存在版本問(wèn)題,可以避免DLL地獄等問(wèn)題。

        動(dòng)態(tài)鏈接庫(kù)的優(yōu)點(diǎn)

        a) 更加節(jié)省內(nèi)存并減少頁(yè)面交換;

        b) DLL文件與EXE文件獨(dú)立,只要輸出接口不變__即名稱、參數(shù)、返回值類型和調(diào)用約定不變__,更換DLL文件不會(huì)對(duì)EXE文件造成任何影響,因而極大地提高了可維護(hù)性和可擴(kuò)展性;

        c)不同編程語(yǔ)言編寫的程序只要按照函數(shù)調(diào)用約定就可以調(diào)用同一個(gè)DLL函數(shù);

        d)適用于大規(guī)模的軟件開(kāi)發(fā),使開(kāi)發(fā)過(guò)程獨(dú)立、耦合度小,便于不同開(kāi)發(fā)者和開(kāi)發(fā)組織之間進(jìn)行開(kāi)發(fā)和測(cè)試。

        不足之處

        a)使用靜態(tài)鏈接生成的可執(zhí)行文件體積較大,包含相同的公共代碼,造成浪費(fèi);

        b)使用動(dòng)態(tài)鏈接庫(kù)的應(yīng)用程序不是自完備的,它依賴的DLL模塊也要存在,如果使用載入時(shí)動(dòng)態(tài)鏈接,程序啟動(dòng)時(shí)發(fā)現(xiàn)DLL不存在,系統(tǒng)將終止程序并給出錯(cuò)誤信息。而使用運(yùn)行時(shí)動(dòng)態(tài)鏈接,系統(tǒng)不會(huì)終止,但由于DLL中的導(dǎo)出函數(shù)不可用,程序會(huì)加載失敗;速度比靜態(tài)鏈接慢。當(dāng)某個(gè)模塊更新后,如果新模塊與舊的模塊不兼容,那么那些需要該模塊才能運(yùn)行的軟件,統(tǒng)統(tǒng)撕掉。這在早期Windows中很常見(jiàn)。

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 国产亚洲欧美精品久久久| 四虎影视国产精品永久在线| 国产cosplay精品视频| 久久精品亚洲欧美日韩久久| 久久免费精品视频| 欧美精品久久久久久久自慰| 欧美人与性动交α欧美精品成人色XXXX视频| 国产精品毛片一区二区三区| 亚洲国产精品成人| 国产精品无码国模私拍视频| 国产精品久久亚洲不卡动漫| 久久99精品国产麻豆| 在线中文字幕精品第5页| 国产精品无码免费播放| 国产一区二区三区久久精品| 国产久热精品无码激情| 蜜国产精品jk白丝AV网站| 亚洲精品NV久久久久久久久久| 精品国产污污免费网站入口在线| 94久久国产乱子伦精品免费| 久久99国产精品久久久| 国产成人精品久久一区二区三区| 久久99精品久久久久久9蜜桃 | 日韩精品一区二区三区大桥未久| 欧美日韩人妻精品一区二区在线| 一本色道久久88精品综合 | 日韩精品欧美国产在线| 精品无码人妻久久久久久| 国产精品小视频免费无限app| 91精品国产91久久久久久蜜臀| 久久这里只有精品久久| 九九99精品久久久久久| 精品一区二区久久| 欧美日韩在线亚洲国产精品| 亚洲国产精品免费视频| 欧美精品免费线视频观看视频| 久久国产精品-国产精品| 国产精品夜色一区二区三区| 久草视频在线这里精品| 亚洲国产精品久久久久网站| 国产精品久久久天天影视香蕉 |