动态库的制作:https://blog.csdn.net/qq_40602000/article/details/101148858
#include <dlfcn.h>
dlopen以指定模式打开指定的动态连接库文件,并返回一个句柄给调用进程,dlerror返回出现的错误,dlsym通过句柄和连接符名称获取函数名或者变量名,dlclose来卸载打开的库。
1、打开指定名字的库
void *dlopen(const char *filename, int flags);
参数: 1、filename ---》动态库的名称
2、flags
2.1、RTLD_NOW ---》立即解析库中的符号,一般用这个
2.2、RTLD_LAZY ---》暂缓决定,等有需要时再解析
返回值:成功:库的句柄
2、获取动态库中指定符号(函数名)的地址
void *dlsym(void *handle, const char *symbol);
参数: 1、handle ---》dlopen的返回值
2、symbol ---》库中函数名
返回值:成功:库中函数的地址
3、卸载动态库
int dlclose(void *handle);
参数:handle ---》dlopen的返回值
4、打印操作动态库时的出错信息
char *dlerror(void);
参数:无
返回值:将出错信息当作字符串返回