8.19 打造VIM IDE 靜態庫 動態庫製作

來源:互聯網
上載者:User

標籤: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 產生 靜態庫檔案
 
  1. libcalc.a:
  2. gcc -c *.c
  3. ar rcs libcalc.a *.o
  4. mv libcalc.a ../lib
  5. clean:
  6. rm -rf *.o
  7. rm -rf libcalc.a
  8. rm -rf ../lib/libcalc.a
main.c的makefile檔案  用來連結靜態庫,執行
 
  1. all:
  2. gcc main.c -Iinclude lib/libcalc.a -o app// -Iinclude 是指定標頭檔的地址
  3. clean:
  4. make -C src clean //make -C 是進入到src目錄裡執行src的 make clean
  5. rm -rf app
另一種方法:可以      gcc -c main.c -Iinclude                           先產生一個  main.o   檔案然後再  gcc main.o  lib/libcalc.a  -o  app            和靜態庫一起編譯

製作動態庫:動態庫以.so結尾
src裡的makefile 產生動態庫檔案
 
  1. libcalc.so:
  2. gcc -fPIC -c *.c
  3. gcc -shared -W -o libcalc.so *.o
  4. 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 靜態庫 動態庫製作

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.