更新时间:2023-10-07 15:55
dlsym是一个计算机函数,功能是根据动态链接库操作句柄与符号,返回符号对应的地址,不但可以获取函数地址,也可以获取变量地址。
dlsym(dynamic library symbol)
根据 动态链接库 操作句柄(handle)与符号(symbol),返回符号对应的地址。使用这个函数不但可以获取函数地址,也可以获取变量地址。
handle:由dlopen打开动态链接库后返回的指针;
symbol:要求获取的函数或全局变量的名称。
void* 指向函数的地址,供调用使用。
接下来先将那个my.so载入:
然后使用dlsym函数将函数指针 pMytest 指向 mytest() 函数:
最后通过调用函数指针执行mytest函数: