在 C 程序中,如果我从 /usr/include 的头文件中调用函数,到底会发生什么?

问题描述

C 库函数的头文件可以在 /usr/include 下找到。然而,实际的源文件似乎并不简单地位于文件系统中的任何位置。

那么,如果我在 C 程序中从 /usr/include 的头文件调用函数,到底会发生什么?

解决方法

C 库的实现通常作为共享库存储在系统上,通常具有 .so 扩展名。这些库通常位于 /usr/lib 中,尽管它们可以驻留在基于系统的其他位置。

当您的程序被编译和链接时,它会自动链接到 C 标准库。然后当它运行时,它会加载与其链接的共享库。