成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

簡(jiǎn)介L(zhǎng)inux靜態(tài)庫(kù)知識(shí)

運(yùn)維 系統(tǒng)運(yùn)維
對(duì)于Linux系統(tǒng)你了解么?目前,Linux系統(tǒng)越來(lái)越受到電腦用戶的歡迎,于是很多人開始學(xué)習(xí)Linux時(shí),在這期間,你可能會(huì)遇到Linux靜態(tài)庫(kù)的編寫和使用問(wèn)題,這里將介紹Linux靜態(tài)庫(kù)的編寫和使用問(wèn)題的解決方法,在這里拿出來(lái)和大家分享一下。

對(duì)于Linux系統(tǒng)你了解么?目前,Linux系統(tǒng)越來(lái)越受到電腦用戶的歡迎,于是很多人開始學(xué)習(xí)Linux時(shí),在這期間,你可能會(huì)遇到Linux靜態(tài)庫(kù)的編寫和使用問(wèn)題,這里將介紹Linux靜態(tài)庫(kù)的編寫和使用問(wèn)題的解決方法,在這里拿出來(lái)和大家分享一下。

1、概述

靜態(tài)庫(kù)文件的擴(kuò)展名一般為.a,其編寫步驟很簡(jiǎn)單。

⑴編寫函數(shù)代碼

⑵編譯生成各目標(biāo)文件

⑶用ar文件對(duì)目標(biāo)文件歸檔,生成靜態(tài)庫(kù)文件。

 注意歸檔文件名必須以lib打頭。

使用要點(diǎn):

⑴在gcc 的-I參數(shù)后加上靜態(tài)庫(kù)頭文件的路徑。

⑵在gcc 的-L參數(shù)后加上庫(kù)文件所在目錄

⑶在gcc 的-l參數(shù)后加上庫(kù)文件名,但是要去掉lib和.a擴(kuò)展名。

比如庫(kù)文件名是libtest.a 那么參數(shù)就是 -l test

2、編寫最簡(jiǎn)單的靜態(tài)庫(kù)文件

編寫如下兩個(gè)文件,注意放在同一目錄中

 myalib.h//靜態(tài)庫(kù)頭文件

myalib.c//靜態(tài)庫(kù)實(shí)現(xiàn)文件

//myalib.h 文件的內(nèi)容

void test();

//myalib.c 文件的內(nèi)容

  1. #inlcude <stdio.h> 
  2. void test()  
  3. {  
  4. printf("test\n");  

3、制作庫(kù)文件

⑴生成目標(biāo)文件

gcc -c myalib.c

執(zhí)行完后會(huì)生成一個(gè)myalib.o文件

⑵用ar命令歸檔,格式為ar -rc <生成的檔案文件名> <.o文件名列表>

再次提醒,歸檔文件名一定要以lib打頭, .a結(jié)尾。

ar -rc libtest.a myalib.o

執(zhí)行完后會(huì)生成一個(gè)libtest.a文件

4、使用庫(kù)文件

⑴編寫一個(gè)測(cè)試程序main.c,內(nèi)容為

//main.c 測(cè)試靜態(tài)庫(kù)調(diào)用的程序

#include "myalib.h"http://要把函數(shù)的頭文件包含進(jìn)來(lái),否則編譯時(shí)會(huì)報(bào)錯(cuò)

  1. int main(int argc,char* argv[])  
  2. {  
  3. test();  
  4. return 0;    

⑵編譯目標(biāo)文件,注意要把靜態(tài)庫(kù)頭文件的路徑加到-I參數(shù)里面

gcc -I /root/exercise -o main.o -c main.c

現(xiàn)在生成了一個(gè)main.o文件

⑶生成可執(zhí)行文件,注意要把靜態(tài)庫(kù)文件的路徑加到-L參數(shù)里面,

把庫(kù)文件名(去掉打頭的lib和結(jié)尾的.a)加到-l參數(shù)后面。如下面所示

gcc -o main -L/root/exercisemain.o -ltest

此時(shí)就會(huì)生成一個(gè)名為main的可執(zhí)行文件

另外,注意- l參數(shù)好象應(yīng)該加到輸入文件名的后面,否則會(huì)報(bào)錯(cuò)。

比如gcc -o main -L/root/exercise-ltest main.o就會(huì)提示

  1. main.o(.text+0x11): In function `main':  
  2. : undefined reference to `test'  
  3. collect2: ld returned 1 exit status 

原因我還不清楚:-)

⑷執(zhí)行可執(zhí)行文件查看效果

執(zhí)行./main, 輸出

test

說(shuō)明執(zhí)行成功。以上就是Linux靜態(tài)庫(kù)的編寫和使用的簡(jiǎn)介。

【編輯推薦】

  1. 配置筆記:Linux配置DNS服務(wù)器
  2. 講解RedHat Linux 5顯示中文的方法
  3. 教會(huì)你Redhat Enterprise Linux關(guān)閉SELinux
  4. 輕松完成Linux安裝KDE軟件包
  5. 闡述Redhat Linux配置遠(yuǎn)程桌面
責(zé)任編輯:小霞 來(lái)源: CSDN
相關(guān)推薦

2010-06-02 13:03:20

MySQL數(shù)據(jù)庫(kù)

2009-12-23 16:35:12

Linux系統(tǒng)光驅(qū)軟

2010-03-04 10:17:57

Linux動(dòng)態(tài)庫(kù)

2021-01-19 10:52:15

知識(shí)圖譜

2009-06-11 09:24:59

NetBeans入門

2010-01-07 17:40:41

Linux動(dòng)態(tài)庫(kù)

2015-11-16 10:34:19

Linux動(dòng)態(tài)庫(kù)總結(jié)

2009-08-20 14:28:00

C#靜態(tài)構(gòu)造函數(shù)

2022-07-12 13:23:59

靜態(tài)鏈接庫(kù)可執(zhí)行文件C 目標(biāo)文件

2021-07-11 06:45:18

Linux內(nèi)核靜態(tài)

2010-04-21 18:17:01

Unix配置協(xié)議

2011-09-16 10:13:02

Emacs

2009-09-27 11:07:22

CCNA知識(shí)靜態(tài)路由

2011-08-24 13:10:48

MongoDBUpdate

2010-04-23 14:12:37

Aix操作系統(tǒng)

2010-09-25 11:13:18

JVMClassLoader

2009-06-26 13:56:20

UML面向?qū)ο蠼?/a>

2021-04-22 06:15:59

Linux靜態(tài)鏈接動(dòng)態(tài)庫(kù)

2011-07-05 10:44:51

Qt Sqlite 靜態(tài)編譯

2021-07-21 09:15:57

Python工具編程語(yǔ)言
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 91看片在线| 成人区精品一区二区婷婷 | 久久久精品 | 国产91精品在线 | 欧美日韩精品久久久免费观看 | 日韩精品一区二区三区视频播放 | 99re热精品视频国产免费 | 亚洲精品久久久久久下一站 | 精品一二 | 亚洲精品久久久一区二区三区 | 成人精品在线视频 | 一级二级三级在线观看 | 日本久草 | 黄色激情毛片 | 欧美在线国产精品 | 欧美日一区二区 | 这里精品 | www.成人.com| 宅女噜噜66国产精品观看免费 | 台湾av在线| 国产精品久久久久久妇女 | 日韩在线视频一区二区三区 | 一区二区三区四区在线 | 亚洲免费网 | 亚洲精品一区国语对白 | 九九热这里只有精品在线观看 | 国产成人综合在线 | 久久久久久999 | 欧美在线天堂 | 亚洲精选久久 | 亚洲一二三区在线观看 | 国产剧情久久 | 亚洲成av人片在线观看 | 亚洲欧美综合精品久久成人 | 国产精品精品久久久 | 婷婷激情综合 | av片在线免费看 | 欧美在线综合 | 99久久久99久久国产片鸭王 | 久久久新视频 | www精品美女久久久tv |