gcc默认链接到libc.a或libc.so吗?

rad*_*ead 5 c gcc libc

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

gcc -o prog prog.c
Run Code Online (Sandbox Code Playgroud)

GCC自动链接到C标准库,所以我没有专门这样做.

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

提前致谢.

lll*_*lll 6

如何查看哪个C库与gcc链接,libc.a或libc.so或其他什么?

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

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

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

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

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