靜態庫和動態庫的區別

2021-07-13 02:19:39 字數 351 閱讀 1209

靜態庫在程式編譯時被連線到目標**中,程式執行時不再需要靜態庫

動態庫在編譯時並不被連線到目標**中,而是程式執行時才被載入,執行時仍然需要動態庫存在。

靜態庫的命名規範是以

lib為字首,緊接著是靜態庫名,副檔名是.a

先將檔案編譯成

.o 檔案然後是編譯成靜態檔案

動態庫檔案在檔名前加

lib字首,擴充套件名為

.so

程式執行時會在

/usr/lib

和/lib

等檔案目錄中查詢指定的動態庫檔案,若找到,則載入動態庫,否則將提示錯誤並終止程式執行。

當靜態庫和動態庫同名時,程式會優先使用動態庫

靜態庫和動態庫的區別

windows vc 靜態庫 在編譯的時候載入生成目標檔案,在執行時不用載入庫,在執行時對庫沒有依賴性。動態庫 在目標檔案執行時載入,手動載入,且對庫有依賴性。兩者區別 一,靜態庫的使用需要 1 包含乙個對應的標頭檔案告知編譯器lib檔案裡面的具體內容 2 設定lib檔案允許編譯器去查詢已經編譯好的...

靜態庫和動態庫的區別

庫的作用 庫是共享程式 的方式,一般分為靜態庫和動態庫。庫實現了某些特定的功能模組化。方便分享和使用!異同點 2.靜態庫和動態庫有什麼特點?不同點 靜態庫 鏈結時完整地拷貝至可執行檔案中,被多次使用就有多份冗餘拷貝。動態庫 鏈結時不複製,程式執行時由系統動態載入到記憶體,供程式呼叫,系統只載入一次,...

靜態庫和共享庫 動態庫 的區別

靜態庫和共享庫 動態庫 的區別 根據鏈結時期不同,分為靜態庫和共享庫,靜態庫是在程式編譯時鏈結的,共享庫是在程式執行時鏈結的。庫是預先編譯好的方法的集合,命名一般為libxx.a 靜態庫 libxx.so 動態庫 庫檔案常存放的地點為 lib或 usr lib,庫對應的標頭檔案一般存放在 usr i...