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

簡介Linux靜態庫知識

運維 系統運維
對于Linux系統你了解么?目前,Linux系統越來越受到電腦用戶的歡迎,于是很多人開始學習Linux時,在這期間,你可能會遇到Linux靜態庫的編寫和使用問題,這里將介紹Linux靜態庫的編寫和使用問題的解決方法,在這里拿出來和大家分享一下。

對于Linux系統你了解么?目前,Linux系統越來越受到電腦用戶的歡迎,于是很多人開始學習Linux時,在這期間,你可能會遇到Linux靜態庫的編寫和使用問題,這里將介紹Linux靜態庫的編寫和使用問題的解決方法,在這里拿出來和大家分享一下。

1、概述

靜態庫文件的擴展名一般為.a,其編寫步驟很簡單。

⑴編寫函數代碼

⑵編譯生成各目標文件

⑶用ar文件對目標文件歸檔,生成靜態庫文件。

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

使用要點:

⑴在gcc 的-I參數后加上靜態庫頭文件的路徑。

⑵在gcc 的-L參數后加上庫文件所在目錄

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

比如庫文件名是libtest.a 那么參數就是 -l test

2、編寫最簡單的靜態庫文件

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

 myalib.h//靜態庫頭文件

myalib.c//靜態庫實現文件

//myalib.h 文件的內容

void test();

//myalib.c 文件的內容

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

3、制作庫文件

⑴生成目標文件

gcc -c myalib.c

執行完后會生成一個myalib.o文件

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

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

ar -rc libtest.a myalib.o

執行完后會生成一個libtest.a文件

4、使用庫文件

⑴編寫一個測試程序main.c,內容為

//main.c 測試靜態庫調用的程序

#include "myalib.h"http://要把函數的頭文件包含進來,否則編譯時會報錯

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

⑵編譯目標文件,注意要把靜態庫頭文件的路徑加到-I參數里面

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

現在生成了一個main.o文件

⑶生成可執行文件,注意要把靜態庫文件的路徑加到-L參數里面,

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

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

此時就會生成一個名為main的可執行文件

另外,注意- l參數好象應該加到輸入文件名的后面,否則會報錯。

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

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

原因我還不清楚:-)

⑷執行可執行文件查看效果

執行./main, 輸出

test

說明執行成功。以上就是Linux靜態庫的編寫和使用的簡介。

【編輯推薦】

  1. 配置筆記:Linux配置DNS服務器
  2. 講解RedHat Linux 5顯示中文的方法
  3. 教會你Redhat Enterprise Linux關閉SELinux
  4. 輕松完成Linux安裝KDE軟件包
  5. 闡述Redhat Linux配置遠程桌面
責任編輯:小霞 來源: CSDN
相關推薦

2010-06-02 13:03:20

MySQL數據庫

2009-12-23 16:35:12

Linux系統光驅軟

2010-03-04 10:17:57

Linux動態庫

2021-01-19 10:52:15

知識圖譜

2009-06-11 09:24:59

NetBeans入門

2010-01-07 17:40:41

Linux動態庫

2015-11-16 10:34:19

Linux動態庫總結

2009-08-20 14:28:00

C#靜態構造函數

2010-04-21 18:17:01

Unix配置協議

2011-09-16 10:13:02

Emacs

2022-07-12 13:23:59

靜態鏈接庫可執行文件C 目標文件

2021-07-11 06:45:18

Linux內核靜態

2009-09-27 11:07:22

CCNA知識靜態路由

2011-08-24 13:10:48

MongoDBUpdate

2010-04-23 14:12:37

Aix操作系統

2010-09-25 11:13:18

JVMClassLoader

2009-06-26 13:56:20

UML面向對象建模

2021-04-22 06:15:59

Linux靜態鏈接動態庫

2011-07-05 10:44:51

Qt Sqlite 靜態編譯

2021-07-21 09:15:57

Python工具編程語言
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区精品在线 | 久久首页| 国产激情视频在线观看 | 男人的天堂在线视频 | 午夜私人影院 | 99久久99| 国产成人久久精品 | 青青草视频网 | 成人在线观看免费 | 中文字幕视频在线观看 | 国产精品视频不卡 | 国产欧美精品一区 | 中文字幕国产高清 | 国产精品久久久久久久久久久久久 | www.99热这里只有精品 | 九色在线观看 | 国产成人精品福利 | 天天射视频 | 99pao成人国产永久免费视频 | 日韩精品在线观看免费 | 亚洲精品视频在线播放 | 97在线观视频免费观看 | 亚洲综合视频 | 国产精品一区二区av | 中文字幕综合 | 欧美电影一区 | 欧美电影免费观看高清 | 91精品一区 | 成人免费在线视频 | 视频在线一区二区 | 日韩一区二区在线视频 | 日韩精品极品视频在线观看免费 | 久久se精品一区精品二区 | 欧美日韩久 | 日本天堂视频在线观看 | 97色综合| 日韩91在线| 亚洲一区在线播放 | 天天综合网永久 | 亚洲高清在线播放 | 日本福利视频免费观看 |