现在的位置: 首页 > 综合 > 正文

dlopen方式

2013年06月26日 ⁄ 综合 ⁄ 共 511字 ⁄ 字号 评论关闭

void  *FunctionLib;  //动态库指针
const char *dlError; //错误信息指针 
typedef int (*FUN)(char *param1,char *param2,char *param3);
FunctionLib = dlopen("xxxxx.so",RTLD_LAZY);
dlError = dlerror();
if (dlError)
{
    printf("load library xxxxxx.so error:%s!/n", dlError);
    return -1;
}

int (*fun)(char *param1,char *param2,char *param3);
 
fun = (FUN) dlsym( FunctionLib, FuncName);
dlError = dlerror();
if( dlError )
{
    printf("load library function RuleCheck error:%s!/n", dlError);
    return -1;
}
else
{
    //根据判断值调用判断函数
    if((*fun)(param1,param2,param3)<0)
    { 
 return -1;
    }
}

抱歉!评论已关闭.