警告:共享库列表已损坏

Kai*_*ann 9 linux gcc g++ shared-libraries

在linux下,当用gdb调试我的程序时,会出现以下消息:

warning: Corrupted shared library list: 0x639130 != 0x7ffff7fd9598
Run Code Online (Sandbox Code Playgroud)

在我的程序中,我通过dlopen()加载了几个.so文件.调用dlopen()后,将显示该消息.

然后,当我加载下一个.so时,该消息再次出现,但这次使用不同的地址:

warning: Corrupted shared library list: 0x63c9e0 != 0x639130
Run Code Online (Sandbox Code Playgroud)

我在互联网上寻找有关此消息的参考,但没有找到任何东西.有一些关于已损坏的共享库的引用,但没有关于损坏的共享库列表的引用.

有谁知道这可能是什么原因?

我正在运行Ubuntu AMD64并使用g ++命令行选项在64位编译:

-std=c++11 -fPIC
Run Code Online (Sandbox Code Playgroud)

sri*_*irt 2

当程序 dlopen() 编辑的共享库之一也有 dlopen() 先前已加载的库的代码时,似乎会发生这种情况。