1. 程式人生 > >2.5 庫檔案的生成及使用

2.5 庫檔案的生成及使用

分靜態庫和動態庫
            靜態庫:{
                靜態庫檔案的字尾為.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);