我确实读了man文件,但没有帮助。“ rcs”似乎是传递给ar的最受欢迎的选项,但是对我来说含义并不那么清楚。
因此,“ c”意味着创建一个新的存档,但是为什么要使用“ r”呢?哪个似乎代表“替换”?“ s”选项对输出有什么作用?
阅读手册页(对于ar)是一个好的开始:
C
创建档案。当请求更新时,将始终创建指定的归档(如果不存在)。但是会发出警告,除非您事先使用此修饰符指定要创建它。
[R
将文件成员...插入存档(替换)。此操作与q的不同之处在于,如果任何先前存在的成员的名称与要添加的成员匹配,则将其删除。
s
将目标文件索引写入存档,或更新现有索引,即使对存档没有其他更改。您可以通过任何操作或单独使用此修饰符标志。
ar s
在档案上运行“ ”等效于在其上运行ranlib。
与POSIX相比,您可能会注意到一个区别:GNU ar使“-”前缀选项本身成为可选的。
归档文件可以包含除目标文件以外的其他项目(尽管这种情况并不经常执行)。包含目标文件的档案需要额外的维护(例如,由完成ranlib
),以使它们可被链接器使用。
根据该原理在POSIX AR,该-s
选项起源于BSD(System V的那样自动将此)。但是,ranlib
自行运行是一种流行的做法(-s
很少使用)。有趣的是,POSIX没有ranlib
,最终该-s
选项将替换ranlib
为许多运行在各种平台上的makefile文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句