23

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

int main()
{
   printf("foo");
   return 0;
}

现在我调用 gcc:

gcc foo.c

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

4

3 回答 3

25

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

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

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

gcc -v foo.c -Wl,--verbose
于 2012-07-14T05:11:24.300 回答
1

ldd 二进制名称。http://www.opennet.ru/man.shtml?topic=ldd&category=1&russian=2

于 2012-07-14T04:49:26.747 回答
-2

默认情况下,标准库是链接的。它们位于 linux 机器的 /usr 中

于 2012-07-14T04:54:39.197 回答