gcc linker 如何根据 32 位/64 位差异决定 link 哪个 libc?

How does gcc linker decide which libc to link as per 32bit/64bit difference?

-lc links 与 libc,但 -m 将指定它应该是 32 位还是 64 位。

我的问题是,gcc 或 ld 是否决定哪个 libc.so 应该是 link 的正确库?

谢谢!

只需使用 GCC 编译一些东西并添加冗长选项。然后您会看到 gcc 将 libc 路径传递给 LD。 GCC 有硬编码的路径,但它可以用一些 -W 参数覆盖。

注意ld显然还是需要知道是生成32位还是64位的二进制文件,但是libc路径不是来自-m而是单独传过来的