23,217
社区成员




你dlopen完了,不是还要去搜索函数吗,把那个代码贴出来,以及检查是否错误,以及错误信息。
man dlopen 看看你的Linux系统上dlopen的具体实现。 dlopen() The function dlopen() loads the dynamic library file named by the null-terminated string filename and returns an opaque "handle" for the dynamic library. If filename is NULL, then the returned handle is for the main program. If filename con‐ tains a slash ("/"), then it is interpreted as a (relative or absolute) pathname. Otherwise, the dynamic linker searches for the library as follows (see ld.so(8) for further details): o (ELF only) If the executable file for the calling program contains a DT_RPATH tag, and does not contain a DT_RUNPATH tag, then the directories listed in the DT_RPATH tag are searched. o If, at the time that the program was started, the environment variable LD_LIBRARY_PATH was defined to contain a colon- separated list of directories, then these are searched. (As a security measure this variable is ignored for set-user- ID and set-group-ID programs.) o (ELF only) If the executable file for the calling program contains a DT_RUNPATH tag, then the directories listed in that tag are searched. o The cache file /etc/ld.so.cache (maintained by ldconfig(8)) is checked to see whether it contains an entry for file‐ name. o The directories /lib and /usr/lib are searched (in that order).
用dlerror得到错误信息,贴出来
void* handle = dlopen("/home/dodomouse/workspace/MyLinuxTest/libMyLinuxTest.so", RTLD_LAZY);