1

我使用dlopen、dlsym 加载库函数。运行程序时遇到了这个问题:</p>

  1. 使用dlopen加载函数,调用函数正确但结果不正确
  2. 不要用d​​lopen直接调用函数,结果是正确的

我怎样才能找到问题?

例子:</p>

void *dl_handle = NULL;
char *error = NULL;

/* Open the shared object */
dl_handle = dlopen(pLibraryName, RTLD_LAZY );
if (!dl_handle) 
{
     return -1
}

char* error = NULL;
pFunc = dlsym( dlHandle, "mysql_rollback");
error = dlerror();
if (error != NULL)\
{
    return -1
}
4

0 回答 0