我在我的二进制文件中看到了这一行:
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
我不应该摆脱它吗?实际上更令人困惑的是,为什么它首先存在,我觉得 gcc 默认编译仅在主机上运行的东西有点疯狂。仅仅依赖一些随机的 libc 可能会或可能不会在我最终将复制粘贴此二进制文件的机器上,这不是非常危险吗?我不明白。在 Windows 上,我想我会得到某种“缺少运行时”错误,该错误被版本化为我编译它的确切运行时,所以如果我在 XP 上使用某个编译器编译,那么任何主机也必须安装该运行时. 但是在 Linux 上我从来没有听说过这样的情况,或者在某个地方是否有一个包含 50 个不同 libc.so 的目录,并且当我的应用程序尝试启动时,正确的目录会被链接?因为我有种感觉。