默认情况下,gcc是否链接到静态或动态标准库?

6 c linker static gcc dynamic

例如:

gcc source-file
Run Code Online (Sandbox Code Playgroud)

我认为这是动态的,但我不确定.它是系统依赖的吗?

Nic*_*ght 5

它在技术上取决于系统,但是在您可能要开发的大多数系统上,答案是“动态的”。

少数系统(大多是很老,嵌入或以其他方式专业)不支持动态链接可言,但大多数开发商都不太在意这些系统。在那些系统上,链接器当然会默认为静态链接(除非端口被拧紧的人是:)。

某些系统也不提供其标准库的静态版本,因此您无法静态链接它们。

在许多系统(尤其是任何典型的Linux系统)上,您可能都有一个名为的实用程序ldd。您可以使用ldd <file>它来检查它是否动态链接到标准库(假设您确实知道该库被称为,通常是libc这样)。