2.5 庫檔案的生成及使用
阿新 • • 發佈:2019-01-03
分靜態庫和動態庫
靜態庫:{
靜態庫檔案的字尾為.a,檔名以lib開頭
生成靜態庫的方法:ar -crv 靜態庫名 目標檔案1,...
g++ 程式的原始檔 -L庫檔案所在的目錄 -l庫名
}
動態庫:{
動態庫檔案的字尾名為.so,檔名以lib開頭
生成動態庫的方法:gcc -shared -fPIC -o 動態庫名 目標檔案1,...
動態庫的呼叫有兩種方式;隱式呼叫、顯示呼叫。
隱式呼叫:方法簡單,呼叫和靜態庫一樣,但是需要把動態庫放在系統能找到的地方
顯示呼叫:
#include <dlfcn.h>
void *dlopen(const char* pathname,int mode);
void *dlsym(void* handle,const char* symbol);
int dlclose(void *handle);
const char *dlerror(void);