linux ar 命令的使用说明和实例讲解

本文介绍了ar命令,它可创建、修改库,从库中提取单个模块。能集合文件成单一备存文件,保留成员文件属性与权限。还说明了其用途,如创建静态库.a文件,以及常用参数和不同格式命令的作用,如插入模块、显示库中目标文件等。

命令简介

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

用途说明

  • 创建静态库.a文件(如libcalc.a)。用C/C++开发程序时经常用到,一般写在makefile中,有时也会在shell脚 本中用到。

常用参数

  • 格式:ar rcs libxxx.a xx1.o xx2.o

参数r:在库中插入模块(替换)。当插入的模块名已经在库中存在,则替换同名的模块。如果若干模块中有一个模块在库中不存在,ar显示一个错误消息,并不替换其他同名模块。默认的情况下,新的成员增加在库的结尾处,可以使用其他任选项来改变增加的位置。 
参数c:创建一个库。不管库是否存在,都将创建。 
参数s:创建目标文件索引,这在创建较大的库时能加快时间。(补充:如果不需要创建索引,可改成大写S参数;如果。a文件缺少索引,可以使用ranlib命令添加)

  • 格式:ar t libxxx.a

显示库文件中有哪些目标文件,只显示名称。

  • 格式:ar tv libxxx.a

显示库文件中有哪些目标文件,显示文件名、时间、大小等详细信息。

  • 格式:nm -s libxxx.a

显示库文件中的索引表。

  • 格式:ranlib libxxx.a

为库文件创建索引表。

代码下载地址: https://pan.quark.cn/s/74b1e6c79185 计算机系统作为当代科技发展的核心支柱,负责着信息时代的关键功能。全面掌握计算机系统不仅需要我们精通高级编程语言,更要求我们深入探究底层机制,理解系统实际运行的方式。由Randal E. BryantDavid R. OHallaron共同编写的《深入理解计算机系统》(CSAPP),是一部助力我们达成此目的的权威教材。该书从程序员的视角出发,深刻剖析了计算机系统的运作规律,特别是系统软件与应用程序的高效构建。本文将从汇编语言的学习、程序执行机制、C语言底层机制以及计算机系统基础四个维度,详细解析CSAPP电子版的内容及其价值。汇编语言充当了高级编程语言与计算机硬件之间的纽带。它以机器指令的形式呈现,使程序员能够直接与硬件设备进行沟通。研究汇编语言不仅能让我们更清晰地认识计算机如何执行指令,还能辅助我们编写更为高效的代码。CSAPP电子版通过系统介绍处理器如何执行机器指令、数据如何在计算机内部流动存储,以及各种寻址模式与指令集架构,帮助读者建立起对汇编语言的全面认知。这种认知对于性能优化、系统软件开发以及嵌入式系统编程具有特别重要的意义。随后,程序运行机制是每位程序员都应了解的知识。CSAPP电子版不仅阐释了程序的编译链接流程,还详细描述了程序加载至内存并最终运行的具体环节。它深入解释了操作系统如何进行进程管理,内存如何被分配保护,以及文件系统的工作方式。掌握这些原理后,程序员能够开发出更加稳定高效的应用程序,同时还能更有效地进行问题诊断性能改进。C语言作为系统级编程的首选语言,其底层实现优化一直是程序员关注的重点。CSAPP电子版深入研究了C语言在系统层面的实现细节...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值