Linux库文件

库文件是预先编译好的方法的集合,库文件分为静态库和共享库,在Linux操作系统中,静态库的扩展名为.a,共享库的扩展名为.so。

静态库

(1)特点
在程序链接阶段被复制到程序中
(2)创建静态库 源文件 fun.c main.c

gcc -c main.c fun.c	//生成相应的.o文件
//使用ar将目标文件归档
ar crv libxxx.a main.o fun.o

libxxx.a则是生成的静态库。

共享库

(1)特点
在程序运行阶段被动态加载到内存中
(2)创建共享库 源文件max.c

gcc -fPIC -shared -o libxxx.so  max	//#1

gcc -c -fPIC max.c
gcc -shared -o libxxx.so max.o	//#2

上面两种方式都可以创建共享库,libxxx.so则是生成的共享库

静态库和动态库的区别

  1. 静态库在程序链接阶段复制到程序中,共享库在程序运行阶段动态加载到内存中;
  2. 静态库多次使用会生成多份拷贝,占用较多内存。共享库只需要加载一次,多次使用只会生成相同的副本,节省内存空间;
  3. Linux下静态库的文件扩展名为.a,共享库的文件扩展名为.so
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值