如何确定glibc(glibcxx)二进制的版本将取决于?

时间:2010-08-08 20:50:27

标签: linux glibc libstdc++

众所周知,glibc(以及据我所知,glibstd ++)也使用了符号版本控制机制。 (详情请参阅:How can I link to a specific glibc version。)

问题是如何确定GLIBC和GLIBCXX的确切版本将由链接器为libc和libstdc ++中的名称选择?例如,如何得到这样的东西:

time -> time@GLIBC_2_5
...
gethostbyname -> gethostbyname@GLIBC_2_3

为什么我们需要这个?在我看来,如果你想最小化glibc / libstdc ++的必需版本,它会很有用。

1 个答案:

答案 0 :(得分:9)

您可以尝试的一件事是在二进制文件上运行objdump -T

如果您正在考虑链接到旧版本的符号,请注意这些旧版本可能依赖于较旧的,不同的结构或其他定义。为避免这种情况,请编译并链接较旧的匹配头文件和库。