dp = dlopen(tmptxt, RTLD_LAZY);
if (dp==0) {
fputs(dlerror(),stderr);
exit(1);
}
tmptr->ptr = dlsym(dp, tmptr->key);
tmptr->txt = tmptxt;
char *error=dlerror();
if(error) {
fputs(error,stderr);
exit(1);
}
注意不能关闭动态链接库,否则不能调用相应函数了,而且不关闭好像没有问题。
一开始因为关闭,还以为是函数指针不能保存,现在看来不是:)
if (dp==0) {
fputs(dlerror(),stderr);
exit(1);
}
tmptr->ptr = dlsym(dp, tmptr->key);
tmptr->txt = tmptxt;
char *error=dlerror();
if(error) {
fputs(error,stderr);
exit(1);
}
注意不能关闭动态链接库,否则不能调用相应函数了,而且不关闭好像没有问题。
一开始因为关闭,还以为是函数指针不能保存,现在看来不是:)