..
本質優點
動態庫共享庫的**是在可執行程式執行時才載入記憶體
1.省空間2.bug修復利於維護3.開發效率
靜態庫靜態庫被鏈結後庫就直接嵌入可執行檔案
1.速度快
linux靜態動態庫製作和使用
動態庫步驟
生成.so文檔案 |…加-fpic和-shard和檔名需lib***.so
1. 1. gcc -fpic -o hello.o -c hello.c 成目標檔案
2. gcc -shared -o libhello.so hello.o
或一句 gcc -fpic -shared -o libhello.so hello.c
編譯鏈結動態庫到程式中
命令:gcc main.c -l . -lhello
-l指定庫路徑 -l指定庫名
-wl,-rpath: 記錄以來so檔案的路徑資訊,將動態庫路徑新增到執行時查詢路徑中(不知道是不是沒用過)
執行測試 新增動態庫執行路徑 (命令ldd a.out 檢測庫路徑)
環境變數 export ld_library_path=」$ld_library_path:.」
配置檔案/etc/ld.so.conf (root許可權 全域性配置不用)
靜態庫步驟
鏈結和執行跟動態庫基本一樣
Linux 靜態庫和動態庫的製作和使用
一 linux作業系統支援的函式庫分支 靜態庫 lib a,在編譯時就將庫編譯進可執行程式 優點 程式的執行環境中不需要外部的函式庫 缺點 可執行程式大 動態庫 又稱共享庫,lib so,在程式執行時將庫載入到可執行程式中 優點 可執行程式小 缺點 程式的執行環境中必須提供相應的庫 函式庫目錄 li...
Linux下靜態庫與動態庫的製作和使用
1 linux作業系統支援的函式庫分為靜態庫和動態庫,動態庫又稱為共享庫。函式庫檔案主要存放在 lib usr lib 2 不管是靜態函式庫還是動態函式庫,都是由 o目標檔案生成 這類庫檔案以lib a 利用靜態函式庫編譯成的檔案較大,因為整個庫的所有資料都會被整合到目標 中。優點 編譯後的程式不需...
靜態庫和動態庫的製作和使用
linux下的靜態庫為lib a格式的二進位制檔案 目標檔案 對應於windows下的.lib格式的檔案。lib 庫名字 a libmytest.a 則庫名字為mytest。1 生成對應的 o檔案 gcc c c c o 2 將生成的 o檔案打包 ar rcs 靜態庫名稱 libmytest.a 所...