分静态库和动态库
静态库:{
静态库文件的后缀为.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);