动态链接库 :在运行时被可执行程序调用,灵活度更高。
后缀:.so 。类似于 Windows 平台下的 .dll 文件
1.准备工作
(1)看我的博客 - 《 Linux 学习笔记 - gcc使用介绍》
(2)程序准备
head.h(在文件夹include中)
add.c(在文件夹src中)
sub.c (在文件夹src中)
2.动态库的制作过程
3、使用动态库
3.1、方法1:gcc main.c lib/libMyCalc.so -o sumapp -Iinclude
3.2、方法2:gcc main.c -Iinclude -L./lib -lMyCalc -o sumapp2 但是会出现如下错误
推荐使用方案4
3.2.1解决方案1:拷贝生成的动态链接库到根目录下的lib文件夹中,但是这种方法不推荐,因为这样可能会影响系统的运行
3.2.2解决方案2:export LD_LIBRARY_PATH=./lib 临时的设置,终端关闭后还是会再次出错。
这种方法调试用的比较多
3.2.3 解决方案3:
永久设置:直接将export LD_LIBRARY_PATH=/home/zy/test/teststaticlib/lib写在 home/zy目录下.bashrc的最后一行中,如下图所示
【注意】重启终端,即可完成
3.2.4 解决方案4(推荐):
在ld.so.conf中加入动态库所在的路径:/home/zy/test/teststaticlib/lib
4.动态库使用小结:
5.动态库的优缺点