我仔细研究并测试了以下 URL,共享库 (Linux) 中的调用函数得到分段错误 以及https://git.xeserv.us/Quora/dlsym-example/src/master/testprog.c。我的问题是如何将 dlsym 映射到类似于此 C 函数示例的非静态 C++ 成员函数。如果我用 C 函数语法代替非静态 C++ 成员函数,我得到一个空操作。
void *lib; /* void pointer named lib */
void (*sayHello)(void); /* void pointer named sayHello */
lib = dlopen("helloWorld.so", RTLD_NOW);
*(void **) (&sayHello) = dlsym(lib,"_ZN19CDataTransferServer10InitializeEi13CC_SAMPLETYPEjjj");
任何帮助表示赞赏。