linux 庫編譯和使用筆記

2021-06-23 01:27:22 字數 765 閱讀 9409

src(.c檔案) inc(標頭檔案) main.c add.c mul.c sub.c

靜態庫編譯和使用

1.gcc -c *.c(生成.o)

2.ar rs libmath.a *.o

r代表打包到靜態庫的檔案列表s專用於生成靜態庫

動態庫編譯和使用(只共享** 不共享資料)

-fpic表示 生成與位置無關的**/相對路徑)

-g 代表可以用gdb除錯

1.gcc -c -g -fpic *.c

2.gcc -shared *.o -o libmath.so(gcc -shared -o libmath.so *.o )

動態庫路徑修改:1.export ld_library_path = ./;

2.vi ~/.bashrc export ld_library_path = /home/;重啟終端

3.vi sudo vi /etc/ld.so.conf然後新增路徑 sudo ldconfig -v(更新快取檔案)

4.cp libmath.so /usr/lib或cp libmath.so /lib

庫命名:

soname:訪問real name 可以通過soname訪問 soname是符號鏈結只包含共享庫的主版本號

linker name 編譯時提供給鏈結器使用.so結尾

real name包含完整的庫版本。

建立linker name

in -s libmath.so.1.21 libmath.so

Linux使用筆記

現在用的linux是很早以前安裝的redhat9,後來一直就沒有使用。這兩天在它上面安裝了eclipse等軟體,總體來說比較順利,為了下次遇到同樣問題能夠更快的解決,這裡把安裝的過程和值得注意的地方記錄下來。安裝jdk1.4.2 安裝tomcat 4.1.30 安裝eclipse 2.1.2,tom...

Linux使用筆記

現在用的linux是很早以前安裝的redhat9,後來一直就沒有使用。這兩天在它上面安裝了eclipse等軟體,總體來說比較順利,為了下次遇到同樣問題能夠更快的解決,這裡把安裝的過程和值得注意的地方記錄下來。安裝jdk1.4.2 安裝tomcat 4.1.30 安裝eclipse 2.1.2,tom...

Linux使用筆記

free 看記憶體硬碟使用情況,引數 k m g 分別以k m g為單位顯示 ps eo pmem,pcpu,rss,vsize,args sort k 1 r less 看應用占用資源情況 top 實時檢視資源使用情況lsof i 8080 netstat apn grep 8080解壓gz包 g...