標籤:style blog http color os 使用 ar 檔案 2014
vim設定檔位置:/etc/vim/vimrc~/.vimrc
打造IDE步驟
,ta ,nn 測試
使用大型IDE
,da 產生文檔說明,dd 產生函數說明
,jd 跳轉函數,o 關閉其他視窗,bf 顯示已經開啟的檔案清單
gcc參數的使用:
linux下製作動態庫,靜態庫,下面是檔案結構圖:
製作靜態庫,靜態庫以 .a 結尾:
src裡的makefile 產生 靜態庫檔案
libcalc.a:
gcc -c *.c
ar rcs libcalc.a *.o
mv libcalc.a ../lib
clean:
rm -rf *.o
rm -rf libcalc.a
rm -rf ../lib/libcalc.a
main.c的makefile檔案 用來連結靜態庫,執行
all:
gcc main.c -Iinclude lib/libcalc.a -o app// -Iinclude 是指定標頭檔的地址
clean:
make -C src clean //make -C 是進入到src目錄裡執行src的 make clean
rm -rf app
另一種方法:可以 gcc -c main.c -Iinclude 先產生一個 main.o 檔案然後再 gcc main.o lib/libcalc.a -o app 和靜態庫一起編譯
製作動態庫:動態庫以.so結尾
src裡的makefile 產生動態庫檔案
libcalc.so:
gcc -fPIC -c *.c
gcc -shared -W -o libcalc.so *.o
mv libcalc.so ../lib
連結動態庫產生可執行檔gcc main.c -Iinclude -L./lib -lcalc -o app
解釋:-L./lib 指定庫所在的目錄-lcalc 庫的名字為libcalc.so -l為lib的簡寫,so可以省略 ,所以 -lcalc
遺憾的是報錯:
ldd ./app 一下 發現 動態庫沒有找到
找到動態庫的方法:邢老師教的
這時候需要修改/etc/ld.so.conf,用root許可權修改 在裡面加上lib的目錄就可以了
然後,sudo ldconfig一下,再ldd就可以看到動態庫了
接著就可以執行了。
另外一種找到動態庫的方法:和朱老師學的
linux不在目前的目錄下尋找可執行程式,同時也不早目前的目錄下找so庫檔案
修改使用者設定檔的方法
1 cd
2 vi .bash_profile (坑爹,Ubuntu下是 .profile)
3 export LD_LIBRARY_PATH = $LD_LIBRARY_PATH:. 這個更坑爹,=兩邊沒有空格
4 儲存退出
5 . .bash_profile
靜態庫錯誤原因 nm查看庫檔案
可以用過 nm 指令 查看一個 庫 的 符號表,這樣就能查看裡面的錯誤
來自為知筆記(Wiz)
8.19 打造VIM IDE 靜態庫 動態庫製作