我创建了一些文件:
在file1.cfile2.c中file3.c中
我使用gcc -c file1.c编译它们,我为其他文件做了同样的事情,我得到了目标文件。后来我用ar工具创建了静态库。
…
随着时间的推移,这个问题越来越少,但很长一段时间,连接器都是单通道。这意味着如果符号在a.o中定义并在b.o中引用,则链接器必须“看到”b.o. 之前 a.o或它永远不会找到参考的定义。
在其他情况下,有时在最后链接的库中提供“默认”功能。这是嵌入式系统开发中的一种流行技术。您可以通过在静态库或对象模块中链接它来提供覆盖功能,但如果不这样做,最后一个库将提供满足链接器的符号。