linux 下動態庫的製作及使用

2022-08-17 19:57:20 字數 833 閱讀 1297

1、動態鏈結庫的製作

動態鏈結庫與普通的程式相比,沒有main函式。 通過 -shared 和 -fpic 編譯引數產生 .so 動態鏈結庫檔案。程式在呼叫庫函式時

只要鏈結上這個庫即可。

1)編寫動態庫**

定義標頭檔案reader.h

#ifndef reader_h_

#define reader_h_

int open(char *name);

int close(char *name);

#endif

//reader_h_

編寫函式體reader.c

#include int open(char *name)

int close(char *name)

2)生成動態庫檔案

$ gcc -shared -fpic reader.c -o libreader.so

2、動態庫的使用

第一步:編寫測試**testlib.c

#include "

reader.h

"int

main()

第二步:呼叫動態庫 (-l 指明動態鏈結庫的路徑)

$ gcc testlib.c -o testlib -l ./ -lreader

第三步:測試輸出

81reader opened.

81reader closed.

Linux下動態庫和靜態庫的製作及使用

在實際的開發過程中,編寫程式往往都需要依賴很多基礎的底層庫,比方說平時用的較多的標準c庫,數學庫等等 我們會頻繁的使用這些庫里的函式,這些函式大多數都是前人為我們寫好的,所以值得慶幸的是我們的工作不必從零開始,我們要做的只是在恰當的位置呼叫合適的庫函式去實現相應的功能,充分利用前人的勞動成果,就是 ...

Linux靜態庫與動態庫製作及使用

一 二者區別 1 靜態庫是在程式執行前就加入到目標程式中去 動態庫程式執行的過程動態的由目標程式去呼叫 2 靜態庫對空間要求不高,對時間要求高 動態庫對時間要求不高,對空間要求高 二 庫製作 同一目錄下有三個檔案 主 hellomain.c 頭 hellomain.h功能 hellofunc.c 1...

Linux下靜態庫 動態庫製作及gcc命令詳解

乙個c語言程式從編寫完成到執行需要經歷預處理 生成.i 編譯 生成.s 彙編 生成.o 鏈結 生成可執行檔案 幾個步驟,如下圖所示。這裡推薦一篇講解的比較全面的部落格 gcc常用引數詳解。我們最常用的gcc編譯選項主要有以下幾個 以下是幾篇講的比較好的部落格 靜態鏈結就是在執行之前講已經編譯好的靜態...