ar命令
1: 语法
ar [options] archive [member....]
2:作用
ar命令是用来操作archive文件的。archive就是打包了的一批文件,里面的文件通常称为“成员”(member)。
通常ar命令用来打包静态库文件,即是.a文件,如libc.a, libm.a,在C代码里调用库函数后,可以和库进行链接。
ar也能打包普通文件,功能类似与tar。
既然是打包文件,那通常的操作就包括有:
建立打包文件,
添加成员
删除成员
列出成员
建立索引 (这是针对生成静态库的功能的,也是主要使用的功能)
3:选项
选项包含两种:操作选项和修饰选项
操作选项指定要执行的命令:如删除成员,添加成员等。一次只能指定一个。
修饰选项执行指定其他要执行的:如指定成员名,是否输出执行过程等。
操作选项如下: (注意,一次只能指定一个)
- -d 删除指定的成员
- ar -d libc.a strcpy.o 删除strcpy.o成员
- -m 移动成员,默认将指定成员移到末尾,可以用修饰选项a,b,i来移动到指定地址。
- ar -m -a strcoll.o libc.a strcpy.o 将strcpy.o移到strcoll.o后面
- -p 打印出指定成员的内容。默认是打印出全部的成员内容。若archive中包含文本文件,则这个挺好用的。
- -q 将成员添加到archive的末尾。(还是用-r吧)
- -r 将成员插入到archive中,若archive中已存在同名模块,则替换。成员默认是插在archive的末尾,可以用修饰选项a,b,i指定插入地方。
- -t 列出archive中的全部成员。加上修饰选项v可以看到成员的权限,用户,组,大小等信息
- -x 从archive中提取成员,默认是提取全部成员。
- ar -x libc.a strcpy.o 将strcpy.o提取出来
修饰选项: 修饰选项要紧接在操作选项的后面
- -a 插入成员时,成员插入在member之后。a即是after
- -b 插入成员是,成员插入在member之前。b即是before
- -c 创建archive
- -f 截断过长的成员名
- -N 计数参数,如果archive有同名的文件,则在提取和删除的时候可以用-N参数指定个数
- -s 将一个目标文件的符号表写入到archive,或更新archive的索引。
- -S 不生成符号表,这样能较快的生成,但生成的库文件不能用来链接。
- -u 通从-r命令会插入全部成员, 如果只想插入较新的成员则用-u参数
- -v verbose模式,插入,删除的时候使用它总是好的。
红色的为可能较常用的选项。
阅读(1724) | 评论(0) | 转发(0) |