由gcc链接的默认库?

use*_*425 23 c c++ linux macos gcc

假设我有一个非常简单的C文件(称为foo.c):

int main()
{
   printf("foo");
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

现在我打电话给gcc:

gcc foo.c
Run Code Online (Sandbox Code Playgroud)

当我调用gcc(没有选项时,如上例所示),默认情况下链接了哪些库,它们位于何处?(在Mac OS X 10.7上)

Mic*_*urr 24

-v选项gcc将导致它转储有关将使用的默认选项的信息,包括库路径和将链接的默认库和目标文件.

如果您提供该-Wl,--verbose选项,gcc将传递--verbose给链接器,链接器将精确地转储到它寻找库的位置,包括失败和成功搜索.

结合这两个选项,您将确切地看到链接到哪些库,以及它们被链接的原因.

gcc -v foo.c -Wl,--verbose
Run Code Online (Sandbox Code Playgroud)