linux下ar的使用方法及生成静态库使用方法

ar作用:建立或修改备存文件,或是从备存文件中抽取文件。可让集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。

语法:

ar[-dmpqrtx][cfosSuvV][a<成员文件>][b<成员文件>][i<成员文件>][备存文件][成员文件]

参数:

必要参数:

  • -d  删除备存文件中的成员文件。
  • -m  变更成员文件在备存文件中的次序。
  • -p  显示备存文件中的成员文件内容。
  • -q  将文件附加在备存文件末端。
  • -r  将文件插入备存文件中。
  • -t  显示备存文件中所包含的文件。
  • -x  自备存文件中取出成员文件。

可选参数

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

实例应用:

创建三个文件fun1.h fun1.cpp main.cpp内容如下:

fun1.h

#ifndef FUN1_H
#define FUN1_H

void func1();

#endif


fun1.cpp

#include <iostream>

void func1()
{
	std::cout << "func1 run\n";
}


main.cpp

#include "fun1.h"

int main()
{
	func1();
	return 1;
}

1、生成.o文件

g++ -c fun1.cpp main.cpp

生成 fun1.o main.o文件

2、生成lib库

ar -cr libfun1.a fun1.o

-c 创建lib库  -r 插入文件

生成fun1静态库

3、查看fun1静态库文件(-t)

ar -t libfun1.a 
结果如下:
fun1.o

4、生成可执行文件

g++ -o main main.cpp -I . -L . -lfun1

-g  :输出文件的调试信息

-O :对输出文件做指令优化

-I :指定头文件位置

-L:指定库文件位置

-l:指定使用哪个库

生成可执行文件 main

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值