当我们的程序中有经常使用的模块,而且这种模块在其他程序中也会用到,这时按照软件重用的思想,我们应该将它们生成库,使得以后编程可以减少开发代码量。这里介绍命令ar,用来对库操作.

ar命令可以用来创建、修改库,也可以从库中提出单个模块。库是一单独的文件,里面包含了按照特定的结构组织起来的其它的一些文件(称做此库文件的member)。原始文件的内容、模式、时间戳、属主、组等属性都保留在库文件中。

命令格式: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 -t libhello.a          查看备存文件中包含的文件

ar -tv libhello.a        显示库文件中有哪些目标文件,显示文件名、时间、大小等详细信息

ar -r libhello.a test.o hello.o   将.o文件添加到.a文件中

ar -m libhello.a shared.o hello.o  变更成员文件在备存文件中的次序

ar -x libhello.a hello.o       将hello.o从libhello.a中拷贝取出,存放到当前目录

每天一个linux命令(6) ar命令相关推荐

  1. linux nm 和ar命令

    只介绍一下常用的命令 ar常用命令 显示静态库包含的.o文件:显示所有对象文件(.o文件)的列表 (加v可以显示更多的信息) # ar t libtest.alibtest1.olibtest2.o ...

  2. Linux操作之ar命令对文件打包与解开文件

    文章目录

  3. Linux ar命令(更改静态库相关属性信息)

    库:为减少编程时程序代码的开发量,一般会按照软件重用思想将经常使用的功能模块封装成库,而对库文件进行操作一般会使用Linux中的ar命令. ar命令基本用法: ar命令可以用来创建.修改库,也可以从库 ...

  4. linux dmesg信息哪来的,linux中的dmesg命令简介

    今天, 我们来介绍一个linux中的dmesg命令,事实上, 我们之前用过, 但是没有单独介绍过. 看一下dmesg命令的用途吧: dmesg命令用会把开机信息存到ring bufer中, 形成一个缓 ...

  5. 【转】每天一个linux命令(39):grep 命令

    原文网址:http://www.cnblogs.com/peida/archive/2012/12/17/2821195.html Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表 ...

  6. Linux 命令(62)—— ar 命令

    1.命令简介 ar(ARchiver)命令是 GNU Binutils 的一员,可以用来创建.修改静态库,也可以从静态库中提取单个模块.静态库是一个独立的文件,里面包含了按照特定的结构组织起来的其它的 ...

  7. linux ar -x64,Linux ar 命令 command not found ar 命令详解 ar 命令未找到 ar 命令安装 - CommandNotFound ⚡️ 坑否...

    显示行号 | 选择喜欢的代码风格 默认 GitHub Dune LakeSide Plateau Vibrant Blue Eighties Tranquil ar 命令是建立或修改备存文件,或是从备 ...

  8. 每天一个linux命令(八月)

    2014-08-31 ln 为文件建立链接 (make links)链接分为两种 : 硬链接(hard link)与软链接(symbolic link)软链接:1.软链接,以路径的形式存在.类似于Wi ...

  9. linux ar指令,Linux ar命令介绍 和常用示例

    制作静态库要用到ar命令,命令格式: ar [-]{dmpqrtx}[abcfilNoPsSuvV] [membername] [count] archive files... {dmpqrtx}中的 ...

最新文章

  1. QQ WINDWOS 8 METRO版使用体验
  2. nodejs 服务器怎么导入qs_nodejs基本原理总结
  3. 分布式从mysql查数据_技术分享 | 从库数据的查找和参数 slave_rows_search_algorithms...
  4. 应用服务器web服务器_最受欢迎的应用服务器
  5. onclick 源码_精读:手写React框架 解析Hooks源码
  6. ZK tree使用mold
  7. 锁和并发性----隔离级别
  8. send,recv,sendto,recvfrom
  9. .NET 4.0中的泛型协变和反变
  10. GlobeRanger优化航空RFID套件,并收到FAA适用性信函
  11. MATLAB 图像处理基础(2)
  12. 怎么判断日出时间早晚_怎样判断一个地方的日出或日落时间
  13. FOXIT PDF SDK 8.1 ALL Crack
  14. 解决fatal: unable to connect to github.com
  15. 一个将Google Maps API与ArcGIS JavaScript API for GMaps结合的例子
  16. Nvidia PhysX 学习文档1: Welcome to PhysX
  17. 服务器安装系统提示加载驱动程序,解决安装win7的提示“加载驱动程序”的问题...
  18. 浅谈督查督办管理系统在企业管理中起到的作用
  19. Could not get a resource from the pool 问题解决
  20. 【备忘】Spring Boot技术栈博客企业前后端

热门文章

  1. eureka hostname作用_springcloud使用Eureka实现服务治理替代dubbo加zookeeper
  2. python中如何获取类的属性,python – 获取类的属性
  3. php 添加样式,PHP实现可自定义样式的分页类
  4. Node.js ES6 模块化的基本语法-直接导入并执行模块代码
  5. pandas 字段操作
  6. Python datetime timedelta
  7. MediaStreamAudioSourceNode
  8. 1.4通过时间的方向传播
  9. Python filecmp库
  10. C/C++程序员如何学习英语