“ar”实用程序究竟做了什么?

时间:2009-10-11 18:06:06

标签: c unix

我真的不明白ar实用程序在Unix系统上的作用。

我知道它可以某种方式用于创建c库,但是该手册页告诉我的是它用于从文件制作档案,听起来类似于tar ....

6 个答案:

答案 0 :(得分:7)

主要目的是获取单个目标文件(*.o)并将它们捆绑在一起形成静态库文件(*.a)。 .a文件包含一个索引,允许链接器快速定位库中的符号。

Tar不会创建链接器理解的文件。

答案 1 :(得分:4)

ar是一个通用归档程序,就像tar一样。它“恰好”主要用于创建静态库档案,这是其传统用途之一,但您仍然可以将其用于通用归档,但tar可能是更好的选择。 ar也用于Debian .deb包。

答案 2 :(得分:2)

确切地说,ar是一个归档者。它只需要一组目标文件(* .o)并将它们放在一个你称之为静态库的存档中。

答案 3 :(得分:1)

它以对象文件(.obj,.o等)的形式获取代码并创建一个静态库(存档)。然后,在与ld链接时可以包含库,以将目标代码包含在可执行文件中。

查看Wikipedia article.

中的示例用法

答案 4 :(得分:1)

您可能希望运行man ar以全面了解情况。 Here是网上的副本。

引用:

  

GNU ar程序可以创建,修改和提取存档。一个          archive是一个文件,包含一个其他文件的集合          可以检索原始个体的结构          文件(称为档案成员)。

     

ar被视为二进制实用程序,因为此类存档是          最常用作包含常用子程序的库。

答案 5 :(得分:1)

ar专门用于目标代码的归档(或库); tar用于存档任意文件。任何人都猜到为什么GNU将这些称为“档案”,在其他环境中,这个实用程序称为“图书管理员”,结果文件只是库。