繁体   English   中英

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

[英]GNU linker, the -l flag and implicit rules

我在摆弄GCC,试图了解链接的各种可能性。

这些是我的问题:

  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标志(不幸的是, man ld没什么用):

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

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

    C。 如何链接名为lib.atools.paz的库?

使用-l可以动态链接,可以使用静态链接的文件名。 我建议您阅读ld的手册,其中详细解释了所有这些内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM