linux创建静态库ar命令的使用说明

转载地址:https://blog.csdn.net/yangxuan12580/article/details/51315077

linux ar 命令的使用说明:
用途说明
   创建静态库.a文件。《关于Linux静态库和动态库的分析》。


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


Linux ar命令参数:  
指令参数  
   -d  删除静态库中的成员文件。  
   -m  变更成员文件在静态库中的次序。  
   -p  显示静态库中的成员文件内容。  
   -q  将文件附加在静态库的末端。  
   -r  将文件插入静态库中。  
   -t  显示静态库中所包含的文件。  
   -x  静态库中取出成员文件。 


选项参数  
   a<成员文件>  将文件插入静态库中指定的成员文件之后。  
   b<成员文件>  将文件插入静态库中指定的成员文件之前。  
   c  创建一个静态库,不管库是否存在,都将创建。  
   f  为避免过长的文件名不兼容于其他系统的ar指令指令,因此可利用此参数,截掉要放入静态库中过长的成员文件名称。  
   i<成员文件>  将文件插入静态库中指定的成员文件之前。  
   o  保留备静态库中文件的日期。  
   s  若静态库中包含了对象模式,可利用此参数建立备存文件的符号表。  
   S  不产生符号表。  
   u  只将日期较新文件插入静态库文件中。  
   v  程序执行时显示详细的信息。  
   V  显示版本信息。


使用示例:
   格式:ar t libxxx.a
       显示库文件中有哪些目标文件,只显示名称。
   格式:ar tv libxxx.a
       显示库文件中有哪些目标文件,显示文件名、时间、大小等详细信息。
   格式:nm -s libxxx.a
       显示库文件中的索引表。
   格式:ranlib libxxx.a
       为库文件创建索引表。


  创建并使用静态库:
   1:编辑源文件,test.h test.c main.c。其中main.c文件中包含main函数,作为程序入口;test.c中包含main函数中需要用到的函数。
   2:将test.c编译成目标文件。
    gcc -c test.c
    如果test.c无误,就会得到test.o这个目标文件。
   3:由.o文件创建静态库。
    ar rcs libtest.a test.o
   4:在程序中使用静态库。
    gcc -o main main.c -L. -ltest
    因为是静态编译,生成的执行文件可以独立于.a文件运行。
   5:执行。
    ./main


  创建并使用动态库
   1:编辑源文件,test.h test.c main.c。其中main.c文件中包含main函数,作为程序入口;test.c中包含main函数中需要用到的函数。
   
   2:将test.c编译成目标文件。
    gcc -c test.c
    前面两步与创建静态库一致。
   3:由.o文件创建动态库文件。
    gcc -shared -fPIC -o libtest.so test.o
   4:在程序中使用动态库。
    gcc -o main main.c -L. -ltest
    当静态库和动态库同名时,gcc命令将优先使用动态库。
   5:执行。
    LD_LIBRARY_PATH=. ./main

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值