我怎样才能看到 ar -s 正常工作?

How can i see that ar -s works correctly?

我有一些生成的目标文件,我使用这些文件创建了一个静态库:

 ar -r libmine.a *.o 

之后我通过以下方式添加索引:

 ar -s libmine.a

如何比较第一个命令和第二个命令以及哪些附加函数给我该索引?

使用此命令后:

ar -r libmine.a *.o

我用过这个:

nm -s libmine.a 

我得到:

Archive index:
add in add.o
mul in mul.o
sub in sub.o
add.o:
0000000000000000 T add
mul.o:
0000000000000000 T mul
sub.o:
0000000000000000 T sub

我执行下一步 ar -s libmine.a,在 nm -s libmine.a 之后我得到相同的输出。为什么? ar -r 包含 ar -s ?

带有索引的存档可加快链接到库的速度,并允许库中的例程相互调用而无需考虑它们在存档中的位置。

您可以使用 nm -snm --print-armap 列出索引 table。

哦,创建库的命令是ar -r <lib.a> <objects>。您混淆了对象和库名称。

详细说明您的 "continuation":是的,每当 ar 对存档进行更改时,ar 会自动为您保留并更新索引 table。 ar 的大多数现代实现甚至在首次创建存档时自动创建这样的索引,而无需调用 ar -s.