linux 動態庫的製作和使用

2021-10-06 20:41:15 字數 1734 閱讀 4246

step1.首先生成與位置無關的** (生成與位置無關的.o)

gcc -fpic -c *.c -i ../include/
step2.生成動態庫

step3.使用者結合main.c使用動態庫、標頭檔案進行編譯,生成可執行檔案

2.

gcc main.c -i ./include -l ./lib -l mycalc -o mysum      也就是-i 標頭檔案所在目錄 -l 動態庫所在的目錄 -l 動態庫名(掐頭去尾) -o 可執行檔名

發現報錯了!這是為什麼呢?如下圖所示:

裡面說libmycalc.so沒有找到

法1:臨時設定

法2:永久設定

首先,在家目錄下找到.bashrc檔案

在最後一行加上絕對路徑:

export ld_library_path=

/home/shenhang/gcc_about/lib

然後重啟終端就可以了。

法3:修改配置檔案(最常用的方法)

需要找動態聯結器的配置檔案 – /etc/ld.so.conf

動態庫的路徑寫到配置檔案中 – 絕對路徑

更新 – sudo ldconfig -v

加一行絕對路徑:/home/shenhang/gcc_about/lib

sudo ldconfig -v

這樣就可以了。

linux靜態動態庫製作和使用

本質優點 動態庫共享庫的 是在可執行程式執行時才載入記憶體 1.省空間2.bug修復利於維護3.開發效率 靜態庫靜態庫被鏈結後庫就直接嵌入可執行檔案 1.速度快 linux靜態動態庫製作和使用 動態庫步驟 生成.so文檔案 加 fpic和 shard和檔名需lib so 1.1.gcc fpic o...

Linux 靜態庫和動態庫的製作和使用

一 linux作業系統支援的函式庫分支 靜態庫 lib a,在編譯時就將庫編譯進可執行程式 優點 程式的執行環境中不需要外部的函式庫 缺點 可執行程式大 動態庫 又稱共享庫,lib so,在程式執行時將庫載入到可執行程式中 優點 可執行程式小 缺點 程式的執行環境中必須提供相應的庫 函式庫目錄 li...

Linux下靜態庫與動態庫的製作和使用

1 linux作業系統支援的函式庫分為靜態庫和動態庫,動態庫又稱為共享庫。函式庫檔案主要存放在 lib usr lib 2 不管是靜態函式庫還是動態函式庫,都是由 o目標檔案生成 這類庫檔案以lib a 利用靜態函式庫編譯成的檔案較大,因為整個庫的所有資料都會被整合到目標 中。優點 編譯後的程式不需...