91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

動態鏈接庫與靜態鏈接庫

發布時間:2020-07-19 13:27:33 來源:網絡 閱讀:224 作者:xiexiankun 欄目:編程語言

1 靜態鏈接庫的優點 

 (1) 代碼裝載速度快,執行速度略比動態鏈接庫快; 

 (2) 只需保證在開發者的計算機中有正確的.LIB文件,在以二進制形式發布程序時不需考慮在用戶的計算機上.LIB文件是否存在及版本問題,可避免DLL地獄等問題。 

2 動態鏈接庫的優點 

 (1) 更加節省內存并減少頁面交換;

 (2) DLL文件與EXE文件獨立,只要輸出接口不變(即名稱、參數、返回值類型和調用約定不變),更換DLL文件不會對EXE文件造成任何影響,因而極大地提高了可維護性和可擴展性;

 (3) 不同編程語言編寫的程序只要按照函數調用約定就可以調用同一個DLL函數;

 (4)適用于大規模的軟件開發,使開發過程獨立、耦合度小,便于不同開發者和開發組織之間進行開發和測試。

3 不足之處

 (1) 使用靜態鏈接生成的可執行文件體積較大,包含相同的公共代碼,造成浪費;

 (2) 使用動態鏈接庫的應用程序不是自完備的,它依賴的DLL模塊也要存在,如果使用載入時動態鏈接,程序啟動時發現DLL不存在,系統將終止程序并給出錯誤信息。而使用運行時動態鏈接,系統不會終止,但由于DLL中的導出函數不可用,程序會加載失敗;速度比靜態鏈接慢。當某個模塊更新后,如果新模塊與舊的模塊不兼容,那么那些需要該模塊才能運行的軟件,統統撕掉。這在早期Windows中很常見。

還有一點區別:

靜態庫在程序編譯時會被連接到目標代碼中,程序運行時將不再需要該靜態庫。

動態庫在程序編譯時并不會被連接到目標代碼中,而是在程序運行是才被載入,因此在程序運行時還需要動態庫存在。


靜態庫是指編譯鏈接時,把庫文件的代碼全部

加載到可執行文件中,因此生成的文件比較大,但在運行時也就不再需要庫文件了。其后

綴名一般為“.a” 動態庫與之相反,在編譯鏈接時并沒有把庫文件的代碼加載到可執行

文件中,而是在程序執行時由運行時鏈接文件加載庫,這樣可以節省系統的開銷。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

栾川县| 牡丹江市| 桦甸市| 资溪县| 应城市| 安达市| 洞头县| 南涧| 兴山县| 化隆| 商南县| 井冈山市| 姚安县| 盖州市| 徐闻县| 斗六市| 太和县| 永福县| 石棉县| 都江堰市| 平乡县| 无棣县| 肥西县| 龙海市| 随州市| 溧水县| 新昌县| 温宿县| 同心县| 台前县| 寿阳县| 长阳| 开江县| 普兰店市| 枣强县| 田阳县| 丹东市| 慈利县| 油尖旺区| 惠安县| 正安县|