第二步:生成动态库
1、动态库的介绍
动态库,也叫共享库。
动态库与用户编写的程序相互独立,不被包含在用户生成的可执行文件当中
2、动态库的创建 第一步:将写好的程序编译
我们事先写好两个程序,bye.c hello.c
一个输出hello一个输出bye
在终端输入命令
gcc -c -fPIC hello.c bye.c
此时目录中会生成hello.o 和bye.o 也就是两个文件各自编译好的文件
第二步:生成动态库
我们将之前编译好的两个文件合并生成一个动态库
输入命令
gcc - -o .so bye.o hello.o
- 生成动态库的命令
-o 后面跟你要生成动态库的名字
这里说一下动态库的命名规则 lib开头 .so结尾 中间部分是动态库的名字
最后面跟你编译好的文件名
这样就成功生成了一个动态库
3、链接动态库 第一步:使用和静态库一样的方法进行链接
gcc -o test test.c -L. -lmyheby
-L 后面跟的是库文件的目录
-l 后面跟的是库的名字
使用上面这段命令,程序回去 /lib 或者 usr/lib 文件夹里面查找动态库
此时直接执行文件是会报错的,解决方法:
1、默认查找的路径保存在环境变量 中。
可以在终端输入
=库文件路径
2、如果想开机就自动添加,也可以在 ~/. 文件的末尾添加上面这行命令,然后在一下
3、除了修改环境变量,还可以在这个文件夹中将目录添加进去
/etc/ld.so.conf.d/libc.conf
然后执行命令刷新
ldconfig
第二步:查看程序包含的动态库
ldd 程序名字
libc.so.6 就是标准库