嵌套档案的目的

时间:2014-05-15 14:58:00

标签: static-libraries ar

ar可以创建一个.a文件,其中包含另一个.a文件,以便ar -t whatever.a的输出如下所示:

someotherarchive.a
foo.o
bar.o

但是,如果之后关联此存档,则.o将无法访问someotherarchive.afoo.o的符号。这可以通过在创建时使用T切换到ar展平来解决,但这也会创建存档。由于似乎没有一个扁平但不稀薄的选项,因此首先从someotherarchive.a提取然后独立链接.o以创建某些内容是必要的包含:

otherarchivememberA.o
otherarchivememberB.o
foo.o
bar.o

提出问题,如果将一个.a放在另一个.a内使其无法访问,那么这样做的目的是什么?

1 个答案:

答案 0 :(得分:1)

大概这是因为ar was historically是一个通用归档工具,例如tar

换句话说,如果要创建静态库,则无法无法嵌套存档。