功能说明:建立或修改备存文件,或是从备存文件中抽取文件。
语 法:ar[-dmpqrtx][cfosSuvV][a《成员文件》][b《成员文件》][i《成员文件》][备存文件][成员文件]
补充说明:ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。
参 数:
指令参数
-d 删除备存文件中的成员文件。
-m 变更成员文件在备存文件中的次序。
-p 显示备存文件中的成员文件内容。
-q 将问家附加在备存文件末端。
-r 将文件插入备存文件中。
-t 显示备存文件中所包含的文件。
-x 自备存文件中取出成员文件。
选项参数
a《成员文件》 将文件插入备存文件中指定的成员文件之后。
b《成员文件》 将文件插入备存文件中指定的成员文件之前。
c 建立备存文件。
f 为避免过长的文件名不兼容于其他系统的ar指令指令,因此可利用此参数,截掉要放入备存文件中过长的成员文件名称。
i《成员文件》 将问家插入备存文件中指定的成员文件之前。
o 保留备存文件中文件的日期。
s 若备存文件中包含了对象模式,可利用此参数建立备存文件的符号表。
S 不产生符号表。
u 只将日期较新文件插入备存文件中。
v 程序执行时显示详细的信息。
V 显示版本信息。
静态库打包
ar -cr .a静态库名 .o文件名
例子:make lib
.PHONY: lib
lib_t: src0.o src1.o src2.o
ar -rc object.a src0.o src1.o src2.o
ranlib object.a
链接静态库
头文件路径:-I./include/
静态库路径:-L./lib/
静态库名称:-l:object.a
g++ main.o -o a.out -L./lib/ -l:object.a
注:如果静态库a调用静态库b,g++编译命令中a一定要放在b前面