【问题标题】:Does gcc links to libc.a or libc.so by default?gcc 默认链接到 libc.a 或 libc.so 吗?
【发布时间】:2018-02-28 20:35:17
【问题描述】:

我在 Ubuntu 16.04 64 位上使用 gcc 5.4.0。当我编译一个程序时:

gcc -o prog prog.c

GCC 自动链接到 C 标准库,所以我不必专门这样做。

  1. 如何查看 gcc 链接到哪个 C 库、libc.a 或 libc.so 或其他?
  2. 什么情况下会链接到libc.so? libc.so 是否需要像其他共享库一样在运行时指定?

提前致谢。

【问题讨论】:

    标签: c gcc libc


    【解决方案1】:

    如何查看 gcc 链接到哪个 C 库,libc.a 或 libc.so,还是其他?

    您可以使用ldd 命令查看所有链接的共享库。如果找到libc.so,则为动态链接。

    什么情况下会链接到libc.so?

    gcc 默认使用动态链接并链接到libc.so。如果您想要静态链接,请传递-static 标志。

    libc.so 是否需要像其他共享库一样在运行时指定?

    通常不会,因为它是由编译器自动配置的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-13
      • 1970-01-01
      • 2019-06-21
      • 1970-01-01
      • 1970-01-01
      • 2011-10-17
      • 1970-01-01
      相关资源
      最近更新 更多