靜態庫生成方法
先把檔案編譯成.o檔案
如gcc -c add.c -o add.o
然後在利用ar命令生成.a的庫
如 ar -r libbase.a add.o
檢視靜態庫中的內容 ar -t libbaase.a
使用靜態庫:
如add.c的內容為
#include
int add(int a,int b)
return (a+b);
編譯add.c: gcc -c -static add.c -o add.o
在使用靜態庫時如下:如main.c函式
#include
int add(int a,int b);
int main()
printf("3+6=%d\n",add(3,6))
編譯mian.c:gcc -c main.c -o main.o
動態庫的使用
編譯add.c:gcc -c -fpic add.c
gcc -shared add.o -o libbase.so
此時已經生成動態庫
然後進行使用:
首先編譯main.c gcc -c main.c -o main.o
靜態庫與動態庫
linux下靜態庫 a 的例子 mylib.h 位於include資料夾下 ifndef mylib h define mylib h int add int a,int b endif mylib.cpp 位於lib資料夾中 include mylib.h int add int a,int b ...
靜態庫與動態庫
庫本質上是一種可執行的二進位制 可以被作業系統載入 linux和windows的庫是不相容的 庫可以分為靜態塊和動態庫,二者的不同點在於 被載入的時刻不同。靜態庫 在程式編譯時會被連線到目標 中,程式執行時不再需要改靜態庫,體積較大,一般應用與移植過程中在宿主機上編譯的 靜態庫檔名的命名規範是以li...
靜態庫與動態庫
1.靜態庫 工程在呼叫靜態庫時,複製靜態庫,源 加長,不節省程式空間。字尾名.a 優點 程式設計後不需要再依賴庫 以空間換時間 建立靜態庫 gcc c 原始檔.c ar rcs rcu 靜態庫名 目標檔案1 目標檔案2 rc 靜態庫不存在,就建立該庫檔案 s 更新靜態庫 使用 gcc o file ...