GNU链接器,-l标志和隐式规则

时间:2014-01-25 12:23:02

标签: c gcc ld

我正在摆弄海湾合作委员会,试图了解各种联系的可能性。

这是我的问题:

  1. 假设我有两个文件tools.ctools.h,我创建了一个存档libtools.a(包含tools.o)。

    现在我有一些prog.c,一个包含tools.h的程序并使用了它的一些功能。

    以下命令是等效的吗?

    gcc -Wall prog.c libtools.a -o prog

    gcc -Wall prog.c -ltools -o prog

  2. 关于-l标志的
  3. man ld遗憾的是没有多少用途):

    一个。什么是隐式模式匹配规则? -lX表示“找到名为libX.a的文件”

    -l在链接过程中是否具有任何真正的重要性,除了懒惰地找到库(与我猜的密切相关)?

    ℃。如何链接名为lib.atools.paz

  4. 的库

1 个答案:

答案 0 :(得分:0)

使用-l动态链接,使用静态链接的文件名。我建议你阅读ld的联机帮助页,它详细解释了这一切。