Linux Standard Base(LSB)AppChecker可靠吗?

liv*_*m95 6 c++ linux linux-standard-base

根据LSB扫描程序,我的二进制文件应该与特定版本的Linux不兼容,因为它使用GBLICXX_3.4.9符号.但是当我试图在该版本上运行二进制文件时,一切似乎都运行良好......

如果该发行版缺少包含所需符号的运行时库,那么二进制文件是否可以在Linux发行版上启动?

jav*_*anz 3

我不知道我是否很好地理解了这个问题,但据我所知,即使您使用现代 glibc 编译了程序,也并不一定意味着您无法执行旧版本。下一个 Linux 命令:

objdump -T "your exe or lib file" | grep GLIB

将显示您的程序符号属于哪个版本的 glibc。

有关更多信息,请参阅 Ulrich Drepper 撰写的一篇名为《如何编写共享库》的论文,其中解释了符号在 Linux 中如何工作的很多内容,不仅适用于共享库,还适用于可执行文件