欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux如何建立靜態(tài)鏈接庫(kù).lib文件

  發(fā)布時(shí)間:2015-02-14 14:29:10   作者:佚名   我要評(píng)論
靜態(tài)鏈接庫(kù)就是.lib文件,能夠?qū)⒑瘮?shù)和數(shù)據(jù)編譯到一個(gè).lib文件中,那么Linux系統(tǒng)要如何建立靜態(tài)鏈接庫(kù)呢?下面為大家詳細(xì)介紹下

  通常我們所說(shuō)的靜態(tài)鏈接庫(kù)就是.lib文件,文件一般比較大,能夠?qū)⒑瘮?shù)和數(shù)據(jù)編譯到一個(gè).lib文件中,那么Linux系統(tǒng)要如何建立靜態(tài)鏈接庫(kù)呢?下面小編就給大家介紹下Linux建立靜態(tài)鏈接庫(kù)的方法。

  主要有兩步:

  1.編譯源碼

  2.制作庫(kù)

  =====================================

  以?xún)蓚€(gè)簡(jiǎn)單的源碼為例,示范靜態(tài)庫(kù)制作的具體流程

  1.編譯源碼

  hello_first.c

  void hello_first(void)

  {

  printf(“hello first”);

  }

  hello_second.c

  void hello_second(void)

  {

  printf(“hello second”);

  }

  編譯:

  gcc -c hello_first.c -o hello_first.o

  gcc -c hello_second.c -o hello_second.o

  2.制作靜態(tài)庫(kù)

  ar -r libhello.a hello_first.o hello_second.o

  具體調(diào)用庫(kù)實(shí)例

  hello_main.c

  #include 《stdio.h》

  void hello_first(void);

  void hello_second(void);

  int main()

  {

  hello_first();

  hello_second();

  return 0;

  }

  編譯:

  第一種方法:

  gcc hello_main.c libhello.a -o hello_main

  第二中方法:

  拷貝libhello.a到/lib目錄下

  gcc hello_main.c -lhello -o hello_main2

  運(yùn)行截圖:

 Linux建立靜態(tài)鏈接庫(kù)的步驟

  OK!靜態(tài)庫(kù)調(diào)用成功?。?/p>

  思考:

  靜態(tài)庫(kù)作用是什么?為甚么要發(fā)明它?

  1.靜態(tài)庫(kù)主要是用于方便程序員編程,將要使用的函數(shù)封裝成庫(kù),只要告訴他們函數(shù)接口就可以了,這樣程序員只要知道怎么調(diào)用就行了。而廠家可以保持接口不變,而對(duì)代碼進(jìn)行修改維護(hù)。

  2.另外有可能是程序員自己將自己經(jīng)常用到的函數(shù)封裝起來(lái),不用重復(fù)編寫(xiě),只需調(diào)用前聲明下就可以了。

  上面就是Linux建立靜態(tài)鏈接庫(kù)的相關(guān)介紹了,在制作靜態(tài)鏈接庫(kù)的時(shí)候需要先編譯源碼,然后再制作靜態(tài)鏈接庫(kù),制作好后需運(yùn)行監(jiān)測(cè)。

相關(guān)文章

最新評(píng)論