Chinaunix首页 | 论坛 | 博客
  • 博客访问: 254616
  • 博文数量: 44
  • 博客积分: 1052
  • 博客等级: 少尉
  • 技术积分: 742
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-17 16:51
文章分类

全部博文(44)

文章存档

2013年(7)

2012年(14)

2011年(23)

分类: LINUX

2012-12-11 22:45:00



ar命令

1: 语法
ar [options] archive [member....]

2:作用
ar命令是用来操作archive文件的。archive就是打包了的一批文件,里面的文件通常称为“成员”(member)。
通常ar命令用来打包静态库文件,即是.a文件,如libc.a, libm.a,在C代码里调用库函数后,可以和库进行链接。
ar也能打包普通文件,功能类似与tar。

既然是打包文件,那通常的操作就包括有:
建立打包文件,
添加成员
删除成员
列出成员
建立索引  (这是针对生成静态库的功能的,也是主要使用的功能)

3:选项
选项包含两种:操作选项和修饰选项
操作选项指定要执行的命令:如删除成员,添加成员等。一次只能指定一个。
修饰选项执行指定其他要执行的:如指定成员名,是否输出执行过程等。

操作选项如下:   (注意,一次只能指定一个)

  1. -d        删除指定的成员
  2.           ar -d libc.a strcpy.o 删除strcpy.o成员
  3. -m        移动成员,默认将指定成员移到末尾,可以用修饰选项a,b,i来移动到指定地址。
  4.           ar -m -a strcoll.o libc.a strcpy.o 将strcpy.o移到strcoll.o后面
  5. -p        打印出指定成员的内容。默认是打印出全部的成员内容。若archive中包含文本文件,则这个挺好用的。

  6. -q        将成员添加到archive的末尾。(还是用-r吧)
  7. -r        将成员插入到archive中,若archive中已存在同名模块,则替换。成员默认是插在archive的末尾,可以用修饰选项a,b,i指定插入地方。

  8. -t        列出archive中的全部成员。加上修饰选项v可以看到成员的权限,用户,组,大小等信息

  9. -x        从archive中提取成员,默认是提取全部成员。
  10.           ar -x libc.a strcpy.o 将strcpy.o提取出来

修饰选项: 修饰选项要紧接在操作选项的后面

  1. -a     插入成员时,成员插入在member之后。a即是after
  2. -b     插入成员是,成员插入在member之前。b即是before
  3. -c             创建archive
  4. -f             截断过长的成员名
  5. -N             计数参数,如果archive有同名的文件,则在提取和删除的时候可以用-N参数指定个数
  6. -s             将一个目标文件的符号表写入到archive,或更新archive的索引。
  7. -S             不生成符号表,这样能较快的生成,但生成的库文件不能用来链接。
  8. -u             通从-r命令会插入全部成员, 如果只想插入较新的成员则用-u参数
  9. -v             verbose模式,插入,删除的时候使用它总是好的。
红色的为可能较常用的选项。










阅读(1734) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~