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...