1 靜態鏈結庫的優點
(1) **裝載速度快,執行速度略比動態鏈結庫快;
(2) 只需保證在開發者的計算機中有正確的.lib檔案,在以二進位制形式發布程式時不需考慮在使用者的計算機上.lib檔案是否存在及版本問題,可避免dll地獄等問題。
2 動態鏈結庫的優點
(1) 更加節省記憶體並減少頁面交換;
(2) dll檔案與exe檔案獨立,只要輸出介面不變(即名稱、引數、返回值型別和呼叫約定不變),更換dll檔案不會對exe檔案造成任何影響,因而極大地提高了可維護性和可擴充套件性;
(3) 不同程式語言編寫的程式只要按照函式呼叫約定就可以呼叫同乙個dll函式;
(4)適用於大規模的軟體開發,使開發過程獨立、耦合度小,便於不同開發者和開發組織之間進行開發和測試。
3 不足之處
(1) 使用靜態鏈結生成的可執行檔案體積較大,包含相同的公共**,造成浪費;
(2) 使用動態鏈結庫的應用程式不是自完備的,它依賴的dll模組也要存在,如果使用載入時動態鏈結,程式啟動時發現dll不存在,系統將終止程式並給出錯誤資訊。而使用執行時動態鏈結,系統不會終止,但由於dll中的匯出函式不可用,程式會載入失敗;速度比靜態鏈結慢。當某個模組更新後,如果新模組與舊的模組不相容,那麼那些需要該模組才能執行的軟體,統統撕掉。這在早期windows中很常見。
靜態庫與動態庫的對比及建立
是在可執行程式執行前就已經加入到 中,成為執行程式的一部分 靜態庫可以認為是一些目標 的集合。按照習慣,一般以 a 作為檔案字尾名。常用在對空間要求較低,對時間要求較高的核心程式中,例如作業系統的啟動程序。是在執行程式啟動時載入到執行程式中,可以被多個執行程式共享使用。常用在對空間要求較高,對時間要...
靜態庫動態庫
靜態庫動態庫 靜態庫 是在執行程式之前就已經加入到執行 中,成為執行程式的一部分來執行的,字尾名 a 動態庫 是在執行程式啟動時載入到執行 中,字尾名 so 靜態庫和動態庫區別 動態庫編譯速度慢,執行速度快,但是生成的程式體積較大,占用記憶體,然而動態庫較易公升級,就布局而言,動態庫 不易布局,執行...
靜態庫動態庫
我們使用ls l的時候看到的除了看到檔名,還看到檔案的元資料 擁有的許可權 硬鏈結數 檔案所有者 組 大小 檔案最後修改時間 檔名ls l讀取儲存在磁碟上的檔案資訊,然後顯示出來 其實這個資訊除了通過這種方式來讀取,還有乙個sata命令能夠看到更多的資訊 這裡寫描述 上面的執行結果有幾個資訊需要解釋...