简介
- ar命令
ar
- ar命令,用于建立或修改备存文件,或者是从备存文件中抽取文件
- ar可以集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限
- 语法
ar [ -dmpqrtx ] [ cfosSuvV ] [ a<成员文件> ] [ b<成员文件> ] [ i<成员文件> ] [ 备存文件 ] [ 成员文件 ]
- 参数
-d
: 删除备存文件中的成员文件-m
: 变更成员文件在备存文件中的次序-p
: 显示备存文件中的成员文件内容-q
: 将文件附加在备存文件末端-r
: 将文件插入备存文件中-t
: 显示备存文件中所包含的文件-x
: 自备存文件中取出成员文件
- 选项参数:
a<成员文件>
: 将文件插入备存文件中指定的成员文件之后b<成员文件>
: 将文件插入备存文件中指定的成员文件之前c
: 建立备存文件f
: 为避免过场的文件名不兼容于其他系统的ar指令,因此可使用此参数,截掉要放入备存文件中过长的成员文件名称i<成员文件>
: 将文件插入备存文件中指定的成员文件之前o
: 保留备存文件中文件的日期s
: 若备存文件中包含了对象模式,可利用此参数建立备存文件的符号表S
: 不产生符号表u
: 只将日期较新文件插入备存文件中v
: 程序执行时显示详细的信息V
: 显示版本信息
linux ar命令 详解
ar
命令是用于创建和维护静态库(archive)的工具。静态库是包含了多个目标文件的归档文件,通常用于在编译和链接时与程序一起使用。
基本语法:
1 | ar [选项] [archive] [files] |
常见选项:
r
:将文件添加到归档中。x
:从归档中提取文件。t
:列出归档中的文件。d
:从归档中删除文件。c
:创建归档。
示例:
创建静态库:
1
ar rcs libexample.a file1.o file2.o file3.o
这将创建名为
libexample.a
的静态库,并将file1.o
、file2.o
和file3.o
添加到其中。从静态库中提取文件:
1
ar x libexample.a file2.o
这将从
libexample.a
中提取file2.o
。列出静态库中的文件:
1
ar t libexample.a
这将列出
libexample.a
中包含的文件。从静态库中删除文件:
1
ar d libexample.a file1.o
这将从
libexample.a
中删除file1.o
。
注意:
- 静态库通常使用
.a
扩展名,但这并不是强制的。 - 在许多情况下,开发人员更倾向于使用共享库(动态库)而不是静态库,因为共享库在运行时动态加载,更加灵活。
ar
命令通常与编译器(如 gcc
)一起使用,用于创建和管理程序的静态库。