Linux中静态库和动态库

文章介绍了如何创建和使用静态库与动态库。对于静态库,其特点是每个程序链接时会包含库的完整副本,而动态库(共享库)则在运行时动态加载,可以节省磁盘空间。创建静态库涉及将编译的对象文件归档,动态库则需使用`gcc-shared`和`-fPIC`选项生成。动态库的使用可通过指定库路径或修改环境变量LD_LIBRARY_PATH来实现。
摘要由CSDN通过智能技术生成

静态库和动态库

1.静态库

格式必须以lib***.a结尾

1.1 创建静态库过程

c:创建库

r:将方法添加到库中

v:显示过程

(1) add.c mul.c 编译 add.o mul.o

(2)创建静态库:ar cry libfoo.a add.o mul.o

(3)使用静态库 链接静态库:gcc -o main main.c -L . -l foo (-L 后指定路径 -l 后指定库文件名称)

1.2 特点

每一个程序 静态链接库文件,生成的可执行文件都包含相同的一份副本

2.动态库(共享库)

格式必须为lib***.so

2.1创建动态库过程

方法一移动动态库到/usr/lib 或/lib下:

(1).c编译成.o文件

(2).o 生成共享文件:gcc -shared -fPIC -o libfoo.so add.o mul.o

(3)将共享文件移动到lib路径下

(4)共享库文件的使用:gcc -o main main.c -lfoo

方法二:修改环境变量

修改环境变量,使得动态链接路径由原来的/usr/lib 或/lib 修改为自定义路径

命令:export LD_LIBRARY_PATH=. (将环境变量修改为当前路径)

删除环境变量:unset $LD_LIBRARY_PATH. (删除当前路径的环境变量)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值