众所周知,glibc(据我所知,glibsd++也使用符号版本控制机制)。(详情请参考: How can I link to a specific glibc version )
问题是如何确定链接器将为libc和libstdc++中的名称选择glibc和glibcxx的确切版本?例如,如何获得这样的结果:
time -> time@GLIBC_2_5 ... gethostbyname -> gethostbyname@GLIBC_2_3
我们为什么需要这个?在我看来,如果您想最小化glibc/libstdc++的所需版本,它可能很有用。
你可以尝试的一件事是跑步 objdump -T 你的二进制文件。
objdump -T
如果您正在考虑链接到旧版本的符号,请注意,这些旧版本可能也依赖于旧的、不同的结构或其他定义。要避免这种情况,请编译并链接旧的、匹配的头文件和库。