1、soname,可以使不同版本號的共享庫共存,保證公升級時不需要公升級程 序檔案。
2、realname, 共享庫檔案名字,檔案控制資訊中儲存有soname。readelf -d 可檢視soname
3、ld -llibfile, 程式載入時會根據libfile的soname查詢依賴庫。
如: soname : libtest-1.so
realname : libtest-1-2.so, libtest-1-3.so
gcc -fpic -shared -wl,soname,libhello.so.1 -o libhello.so.1.2 hello.c
linux下動態庫soname簡介
linux 支援兩種型別的庫,每一種庫都有各自的優缺點。靜態庫包含在編譯時靜態繫結到乙個程式的函式。動態庫則不同,它是在載入應用程式時被載入的,而且它與應用程式是在執行時繫結的。靜態庫較適宜於較小的應用程式,因為它們只需要最小限度的函式。而對於需要多個庫的應用程式來說,則適合使用共享庫,因為它們可以...
Linux 靜態庫與動態(共享)庫
不論是在linux還是windows下程式設計,我們都會用到庫,有自身帶的標準庫,也有我們自己寫的庫,庫就是預先編譯好的的方法的集合。linux中的庫可以分為兩種,靜態庫和動態庫,動態庫也稱為共享庫。在linux中,庫名稱都以lib開始,靜態庫名為 lib a,動態庫名為 lib so。靜態庫和動態...
Linux共享庫組織
1.版本組織 linux共享庫版本組織主要分為共享庫版本和符號版本 1 共享庫版本 共享庫採用x.y.z的方式標識共享庫版本,x為主版本號,y為次版本號,z為發布版本號 當主版本號發生變化時,代表共享庫版本發生了不相容的變化,如函式簽名變化 介面資料結構變化 函式行為變化等 當次版本號發生變化時,代...