靜態庫,共享庫,動態載入庫

2021-06-27 15:46:19 字數 598 閱讀 3211

一、 靜態庫:

1.概念:

靜態庫就是一些目標檔案的集合,以.a結尾。靜態庫在程式鏈結的時候使用,鏈結器會將程式中使用

到函式的**從庫檔案中拷貝到應用程式中。一旦鏈結完成,在執行程式的時候就不需要靜態庫了。

由於每個使用靜態庫的應用程式都需要拷貝所用函式的**,所以靜態鏈結的檔案會比較大。

2.建立與應用:

首先建立庫檔案libhello.c

#include

void hello()

建立標頭檔案libhello.h

void hello();

現在我們建立libhello靜態庫檔案:

$ gcc -c libhello -o libhello.o

$ ar rcs libhello.a libhello.o  

其中ar中的rcs的意思是: r表明將模組加入到靜態庫中,c表示建立靜態庫,s表示生產索引。

我們寫乙個測試程式:

$ cat test.c

#include

int main(void)

{printf("use library hello.\n");

hello();

Linux 靜態庫與動態(共享)庫

不論是在linux還是windows下程式設計,我們都會用到庫,有自身帶的標準庫,也有我們自己寫的庫,庫就是預先編譯好的的方法的集合。linux中的庫可以分為兩種,靜態庫和動態庫,動態庫也稱為共享庫。在linux中,庫名稱都以lib開始,靜態庫名為 lib a,動態庫名為 lib so。靜態庫和動態...

linux共享庫動態載入

首先設想一種情況,我們需要將某個功能做成可配置的,比如近期再弄的圖形系統,風格應該是可配置的 在配置檔案中用字串記錄使用到的 畫法 庫 這個 畫法 就比如windows裡面的開始按鈕,windows經典 風格是乙個矩形,而 windows xp 風格則是乙個圓角矩形,它們使用的繪圖方法當然不一樣 改...

VC 載入動態庫和靜態庫

靜態庫包括.lib和.h檔案,在工程中使用靜態庫分為3步 1在工程中加入靜態庫,有兩種方法 方法一 專案設定中引用.lib,project setting link object library modules中新增.lib 需要在tools options設定正確的引用路徑 方法二 在專案中直接加...