linux 靜態庫的建立和使用

2021-06-22 17:36:21 字數 1667 閱讀 5069

linux和windows一樣也有自己的庫檔案,這樣可以使程式模組化。

windows系統包括靜態鏈結庫(***x.lib檔案)和動態鏈結庫(***x.dll檔案)

linux 庫檔案包括靜態庫檔案(lib***x.a檔案)和動態鏈結庫(***x.so檔案)

本文重點介紹linux系統中的庫檔案的建立與使用

在linux系統中靜態庫檔案和動態庫檔案在使用的時候被載入的時間不同

靜態庫檔案:

在編譯原檔案時就被拷貝到可執行程式中,因此載入靜態庫的程式體積比較大,但是可以再沒有這些庫檔案的位置執行。

動態庫檔案:

在編譯原檔案時只是簡單的對庫檔案進行引用,在程式執行的時候才被載入記憶體中,所以相對來說體積比較小,被編譯的原始檔只能附帶著那些動態庫才可以執行。

兩種庫的區別說了一部分

下面用乙個例項來說明靜態庫的建立與使用:

標頭檔案mylib.h

#define

mylib_h

void

welcome()

;void

output

(const

char

*str

);

原始檔  mylib.c

#include

"mylib.h"

#include

<

stdio.h

>

void

welcome

(void

)void

output

(const

char

*str

)1、編譯mylib.c生成目標檔案gcc -c  mylib.c 

2、將目標檔案加入到靜態庫:ar rcs 

3、編寫測試程式 test.c

原始檔test.c

#include

"mylib.h"

#

include

int main(

)

4、使用靜態庫編譯:gcc -o test test.c -static -l. -lmylib

5、然後使用命令ls 檢視產生可執行檔案test  然後執行就可以了

現在就理解到這了,錯誤的地方得到指導,謝謝!

Linux 靜態庫的建立和使用

一 linux中靜態庫的建立和使用 靜態庫標頭檔案 say hello.h ifndef say hello define say hello void say hello endif 靜態庫源 檔案 say hello.cpp include say hello.h include using s...

建立和使用靜態庫

我們通常把一些公用函式製作成函式庫,供其它程式使用。函式庫分為靜態庫和動態庫兩種。靜態庫在程式編譯時會被連線到目標 中,程式執行時將不再需要該靜態庫。動態庫在程式編譯時並不會被連線到目標 中,而是在程式執行是才被載入,因此在程式執行時還需要動態庫存在。本文主要通過舉例來說明在linux中如何建立靜態...

建立和使用靜態庫

測試可用 我們將建立的下乙個庫型別是靜態庫 lib 使用靜態庫是重用 的一種絕佳方式。您不必在自己建立的每個程式中重新實現同一例程,而只需對這些例程編寫一次,然後從需要該功能的應用程式引用它們即可。本演練演示如何完成以下任務 本主題假定您具備 c 語言的基礎知識。如果您是剛開始學習 c 建議參閱 m...