假设我有一个非常简单的 C 文件(称为 foo.c):
int main()
{
printf("foo");
return 0;
}
现在我调用 gcc:
gcc foo.c
当我调用 gcc 时(没有选项,如上例所示),默认链接了哪些库,它们位于何处?(在 Mac OS X 10.7 上)
-v
选项将gcc
导致它转储有关它将使用的默认选项的信息,包括库路径和默认库以及将链接的目标文件。
如果您提供该-Wl,--verbose
选项,gcc 会将 传递--verbose
给链接器,链接器将准确转储它正在寻找库的位置,包括失败和成功的搜索。
结合这两个选项,您将确切地看到链接了哪些库,以及链接它们的原因。
gcc -v foo.c -Wl,--verbose
默认情况下,标准库是链接的。它们位于 linux 机器的 /usr 中