我很好奇dlopen
在 Linux 中使用来调用共享库。假设我想在 C 中使用一个名为fileName.so
. 我在 64 位 Ubuntu Linux 中工作,我包含dlfcn.h
并使用dlopen
函数来访问共享库。
当我使用 时dlopen(fileName.so, RTLD_LAZY)
,会返回一个 NULL 句柄并且不会打开共享库。但是,当我使用它时dlopen("./fileName.so", RTLD_LAZY)
,dlopen
它会完成它的工作并打开共享库。似乎重点是在./
文件名之前使用。
如果帮助我弄清楚为什么我应该./
在我的代码中使用,我们将不胜感激。谢谢