动态库函数

动态库函数的制作:
1、生成目标文件:gcc -c file.c
2、
gcc -shared -fpic -o libfile.so file.o
其中
-fpic:产生位置无关代码
-shared:生成共享库
用上述命令生成libaddsub.so动态库函数
gcc -o out main.c -L. -lfile
此时不能立即./out输出,因为在动态库函数使用时,会查找/usr/lib /lib目录下的动态库函数,而此时我们生成的库不在里面。

练习代码和静态的一样
方法一:

libaddsub.so 复制到/usr/lib或/lib中去

在这里插入图片描述

方法二:假设libfile.so在/home/linux/file
LD_LIBRARY环境变量,把动态库的路径添加到环境变量
export LD_LIBRARY_PATH=/home/linux/addsub: $LD_LIBRARY_PATH
再用echo $LD_LIBRARY_PATH查看环境变量

在这里插入图片描述
方法三:
修改配置脚本
在/etc/ld.so.conf文件里加入我们生成的库的目录,修改后的文件要重新运行配置脚本,用ldconfig /sbin/ldconf命令因为方法二的环境变量没有修改文件,所以把终端重启后会消失
在这里插入图片描述
/etc/ld.so.conf是非常重要的一个目录,里面存放的是链接器和加载器搜索共享库时要检查的目录,默认是从/usr/lib /lib中读取的,所以想要顺利运行,可以把库的目录加入到这个文件中并执行
/sbin/ldconf

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值