一、 靜態庫:
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設定正確的引用路徑 方法二 在專案中直接加...