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;
}
}