您的位置:首页 > 运维架构 > Linux

linux如何动态加载动态库

2010-03-15 15:47 387 查看
1.定义函数指针类型

要根据动态库中药使用的函数,在外面定义同样类型的函数指针类型,供以后使用
typedef unsigned long(*POpenDev)(IN unsigned long int);

2. 定义函数指针
POpenDev OpenDev;

3.动态加载动态库
HANDLE sohandle = NULL;
sohandle = dlopen("libNiKeyDll.so", RTLD_NOW);

if(NULL != sohandle)
{
fprintf(stderr, "%s/n", dlerror());
}

4.获取函数地址
OPenDev = (POpenDev)dlsym(sohandle, "Opendev");
Opendev 为动态库内的函数名, OPenDev为或得的Opendev的函数地址,以后可以通过OPenDev使用Opendev函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: