ar
可以创建一个.a
包含另一个.a
文件的文件,这样的输出ar -t whatever.a
如下所示:
someotherarchive.a
foo.o
bar.o
但是,如果随后链接此档案,则.o
in 中的符号someotherarchive.a
将无法通过foo.o
. 这可以通过在创建时使用T
switch 进行展平来解决ar
,但这也会创建一个精简的存档。由于似乎没有 flatten-but-don't-thin 选项,因此有必要先从中提取someotherarchive.a
然后.o
独立链接 s 以创建包含以下内容的内容:
otherarchivememberA.o
otherarchivememberB.o
foo.o
bar.o
提出问题,如果把一个.a
放在另一个里面.a
就无法访问,这样做的目的是什么?