庫文件


1.

 

   在一個終端建立一個文件,並打開后,若再次建立一個終端打開此文件編輯時則發生錯誤,當文件被創建時會建立一個隱藏文件,“main.c.swp”再次打開時,會先去找main.c.swp文件,若此文件存在,則代表文件被打開過。第二個打開時只能看,不能修改,此時為一個只讀文件。

 2.什么是庫文件?

    庫是一組預先編譯好方法的集合。

    存放地址;/lib ,/usr/lib

   命令存放在/usr/bin下

3.頭文件存放在/usr/include

4.

 

   libc.so :共享庫,c的標准庫

5.靜態庫和共享庫

1)靜態庫

      ar crv liboo.a bill.o fred.o

      crv 參數   libfoo.a  庫的名字   bill.o  fred.o 庫里面需要 打包的.o文件

      c 創建一個庫 r 把.o文件添加到庫里  v 顯示過程

       前綴lib  后綴.o  名字 foo

庫里面沒有主函數,只有實現方法

2).c為什么不需要指定?

     因為c庫編寫時都會用到stdio.h,在寫程序時,自動鏈接到c的標准庫,默認路徑

3)共享庫

      gcc -shared -fPIC -o libfoo.so add.o max.o

4)靜態庫和標准庫的區別?

  靜態庫在鏈接時將用到的方法包含到最終生成的可執行程序中,而共享庫不包含,只做

標記,在運行程序時,才動態加載。
   使用共享庫編譯的可執行程序明顯比使用靜態庫小一些,靜態庫被刪掉可執行程序依然可以執行,共享庫被刪掉,使用該共享庫,或依賴該共享庫的都不能執行。
5)如果庫不在標准文件下,則通過設置環境變量來指定加載庫的路徑。
      環境變量看值:echo $.......
      環境變量命令:export ....
      

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM