先从百度百科把dlsym的简介拉过来:
功能:根据动态链接库操作句柄与符号,返回符号对应的地址;
函数定义:void*dlsym(void*handle,constchar*symbol);
函数描述:dlsym(dynamic library symbol) 根据 动态链接库 操作句柄(handle)与符号(symbol),返回符号对应的地址。使用这个函数不但可以获取函数地址,也可以获取变量地址。 handle:由dlopen打开动态链接库后返回的指针; symbol:要求获取的函数或全局变量的名称。 返回值: void* 指向函数的地址,供调用使用。
现在来看三个示例,main.c、test_C.c、test_C++.cpp:
/**************
main.c
gcc main.c -ldl -o main
**************/
#include <stdio.h>
#include <dlfcn.h>
void mai