我真的不明白ar
实用程序在Unix系统上的作用。
我知道它可以某种方式用于创建c库,但是该手册页告诉我的是它用于从文件制作档案,听起来类似于tar
....
答案 0 :(得分:7)
主要目的是获取单个目标文件(*.o
)并将它们捆绑在一起形成静态库文件(*.a
)。 .a文件包含一个索引,允许链接器快速定位库中的符号。
Tar不会创建链接器理解的文件。
答案 1 :(得分:4)
ar
是一个通用归档程序,就像tar
一样。它“恰好”主要用于创建静态库档案,这是其传统用途之一,但您仍然可以将其用于通用归档,但tar
可能是更好的选择。 ar
也用于Debian .deb
包。
答案 2 :(得分:2)
确切地说,ar是一个归档者。它只需要一组目标文件(* .o)并将它们放在一个你称之为静态库的存档中。
答案 3 :(得分:1)
它以对象文件(.obj,.o等)的形式获取代码并创建一个静态库(存档)。然后,在与ld链接时可以包含库,以将目标代码包含在可执行文件中。
中的示例用法答案 4 :(得分:1)
您可能希望运行man ar
以全面了解情况。 Here是网上的副本。
引用:
GNU ar程序可以创建,修改和提取存档。一个 archive是一个文件,包含一个其他文件的集合 可以检索原始个体的结构 文件(称为档案成员)。
ar
被视为二进制实用程序,因为此类存档是 最常用作包含常用子程序的库。
答案 5 :(得分:1)
ar专门用于目标代码的归档(或库); tar用于存档任意文件。任何人都猜到为什么GNU将这些称为“档案”,在其他环境中,这个实用程序称为“图书管理员”,结果文件只是库。