ar,Linux系统的一个备份压缩命令,用于创建、修改备存档案(archive),或从备存档案中提取成员档案。ar命令最常见的用法是将目标档案打包为静态程式库。
基本介绍
- 中文名:ar命令
- 类别:Linux命令
- 作用:创建、修改或提取备存档案
- 常见套用:生成或修改静态程式库
描述
ar命令是Linux的一个备份压缩命令,可以创建、修改备存档案(archive),或从备存档案中抽取成员档案。备存档案以一定的结构打包一个至多个其它档案(即成员档案),且成员档案的内容、模式、时间戳等信息将被保存在备存档案中。
常见的套用是,使用ar命令将多个目标档案(*.o)打包为静态程式库档案(*.a)。
语法
命令格式
ar [emulation options] [-]{dmpqrstx}[abcDfilMNoPsSTuvV] [--plugin <name>] [member-name] [count] archive-file file...
ar -M [<mri-script>]
参数
·指令参数
-d 删除备存档案中的成员档案。
-m 变更成员档案在备存档案中的次序。
-p 显示备存档案中的成员档案内容。
-q 将成员档案添加到备存档案末端。
-r 将档案插入备存档案中。
-s 等价于运行ranlib。
-t 显示备存档案中所包含的档案。
-x 自备存档案中取出成员档案。
·选项参数
a<成员档案> 将档案插入备存档案中指定的成员档案之后。
b<成员档案> 将档案插入备存档案中指定的成员档案之前。
c 建立备存档案。
f 为避免过长的档案名称不兼容于其他系统的ar指令指令,因此可利用此参数,截掉要放入备存档案中过长的成员档案名称称。
i<成员档案> 将档案插入备存档案中指定的成员档案之前。
o 保留备存档案中档案的日期。
s 若备存档案中包含了对象模式,可利用此参数建立备存档案的符号表。
S 不产生符号表。
u 只将日期较新档案插入备存档案中。
v 程式执行时显示详细的信息。
V 显示版本信息。
生成静态程式库
静态库是目标档案的一个集合,通常静态库以“.a”为后缀。静态库由程式ar生成,如今静态库已经不像之前那幺普遍了,这主要是由于现在的程式一般都使用动态库。
生成静态程式库
工具ar的选项-r,可以创建库,并把目标档案插入到指定库中。目标档案一般为C语言源档案(*.c)编译后的档案(*.o)。
一般格式:$ar -r LibName.a ObjFile.o [ObjFile2.o] [ObjFile3.o] [...]
例如,将string.o打包为库档案libstr.a的命令为:
$ar -rcs libstr.a string.o
使用静态程式库
在编译程式的时候经常需要使用函式馆,例如经常使用的C标準库等。GCC连结时使用库函式和一般的目标档案的形式是一致的(详见gcc命令)。
例如,main.c中使用了libstr.a中的函式,生成最终的执行档main.out的命令如下:
$gcc -o main.out main.c libstr.a