库对目标文件的好处

时间:2015-05-25 12:08:06

标签: libraries

我一直在阅读关于linux库的话题 http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html

提到:

“好处是链接时不需要声明每个目标文件,因为开发人员可以引用单个库”

我不是在遵循这个陈述。我想知道是否有人可以得到进一步的解释或一个例子吗?

由于

1 个答案:

答案 0 :(得分:2)

这不是世界上最好的措辞,IIUC,并且有点误导。恕我直言,而不是

  

好处是链接时不需要声明每个目标文件,因为开发人员可以引用个人

应该说

  

好处是链接时不需要声明每个目标文件,因为开发人员可以引用整个库(作为命名实体)

基本上,它意味着以下内容。在没有库的情况下,现在是库的作者可以简单地构建一个目标文件列表,如下所示:

a0.cpp -> a0.o
a1.cpp -> a1.o
...

然后她可以在文档中写“如果你想要函数x,y和z”,那么你需要链接a3.o(因为它包含x和z),a42.o(对于y),还有a23.o,a15.o和a72.o,因为它们包含必要的底层部分。

这当然是笨拙的。正如您的链接所解释的,一种更为理智的方法是从通用功能和类的状态创建单个库。指令变成“如果你想要射击foo外星人的功能,与foo_alien_shooting库链接”。