庫的作用:
庫是共享程式**的方式,一般分為靜態庫和動態庫。庫實現了某些特定的功能模組化。方便分享和使用!異同點:
2.靜態庫和動態庫有什麼特點?
- 不同點:
靜態庫:鏈結時完整地拷貝至可執行檔案中,被多次使用就有多份冗餘拷貝。
動態庫:鏈結時不複製,程式執行時由系統動態載入到記憶體,供程式呼叫,系統只載入一次,多個程式可以共用,節省記憶體。
- 共同點:
生成靜態庫:
當前檔案:add.c 、 add.h 、 main.c 、 sub.c 、 sub.h
//生成靜態庫
ar -rc libmtmath.a add.o sub.o
//列出靜態庫中的檔案
ar -t libmymath.a
//使用靜態庫
gcc main.c -l
.-llibmymath
//指定路徑 指定庫名
生成動態庫:gcc -fpic
-c sub.c add.c
gcc -shared
-o libmymath.so *
.o//使用動態庫
gcc main.o -o main -l
.-lhello
庫的作用:
靜態庫和動態庫的區別
windows vc 靜態庫 在編譯的時候載入生成目標檔案,在執行時不用載入庫,在執行時對庫沒有依賴性。動態庫 在目標檔案執行時載入,手動載入,且對庫有依賴性。兩者區別 一,靜態庫的使用需要 1 包含乙個對應的標頭檔案告知編譯器lib檔案裡面的具體內容 2 設定lib檔案允許編譯器去查詢已經編譯好的...
靜態庫和動態庫的區別
靜態庫在程式編譯時被連線到目標 中,程式執行時不再需要靜態庫 動態庫在編譯時並不被連線到目標 中,而是程式執行時才被載入,執行時仍然需要動態庫存在。靜態庫的命名規範是以 lib為字首,緊接著是靜態庫名,副檔名是.a 先將檔案編譯成 o 檔案然後是編譯成靜態檔案 動態庫檔案在檔名前加 lib字首,擴充...
靜態庫和共享庫 動態庫 的區別
靜態庫和共享庫 動態庫 的區別 根據鏈結時期不同,分為靜態庫和共享庫,靜態庫是在程式編譯時鏈結的,共享庫是在程式執行時鏈結的。庫是預先編譯好的方法的集合,命名一般為libxx.a 靜態庫 libxx.so 動態庫 庫檔案常存放的地點為 lib或 usr lib,庫對應的標頭檔案一般存放在 usr i...