linux下制作动态库

1、动态库的介绍

动态库,也叫共享库。

动态库与用户编写的程序相互独立,不被包含在用户生成的可执行文件当中

2、动态库的创建

第一步:将写好的程序编译

我们事先写好两个程序,bye.c hello.c

一个输出hello一个输出bye

 在终端输入命令 

gcc -c -fPIC hello.c bye.c

此时目录中会生成hello.o  和bye.o  也就是两个文件各自编译好的文件

第二步:生成动态库

我们将之前编译好的两个文件合并生成一个动态库

输入命令

gcc -shared -o libmyheby.so bye.o hello.o

 -shared 生成动态库的命令

-o 后面跟你要生成动态库的名字

这里说一下动态库的命名规则    lib开头  .so结尾  中间部分是动态库的名字

最后面跟你编译好的文件名

这样就成功生成了一个动态库 

3、链接动态库

第一步:使用和静态库一样的方法进行链接

gcc -o test test.c -L. -lmyheby

-L 后面跟的是库文件的目录

-l 后面跟的是库的名字

使用上面这段命令,程序回去 /lib  或者 usr/lib  文件夹里面查找动态库

此时直接执行文件是会报错的,解决方法:

1、默认查找的路径保存在环境变量  LD_LIBRARY_PATH中。

可以在终端输入

export  LD_LIBRARY_PATH=库文件路径

2、如果想开机就自动添加,也可以在 ~/.bashrc 文件的末尾添加上面这行命令,然后在source一下

3、除了修改环境变量,还可以在这个文件夹中将目录添加进去

/etc/ld.so.conf.d/libc.conf

然后执行命令刷新

ldconfig

第二步:查看程序包含的动态库

ldd 程序名字

 libc.so.6  就是标准库

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值