dlopen、dlsym ロード ライブラリ関数を使用します。プログラムを実行すると、この問題に遭遇しました:</p>
- dlopen load 関数を使用し、正しい関数を呼び出しますが、結果は正しくありません
- dlopen を使用せず、関数を直接呼び出すと、正しい結果が得られます
どうすれば問題を見つけることができますか?
例:</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
}