静态库编写
静态库文件命令格式 以lib 开头.a为后缀 libname.a

第一步: 编写好源码, 以及调用该源码函数的头文件
第二步: 编译源代码生成.o文件
gcc -c test.c -o test.o
第三步: 制作静态库 使用ar
ar rcs libname.a test.o …
第四步: 静态库使用 gcc test.c ./libname.a -o test.out -I ./

-I 的作用是指定头文件路径
动态库命名规范, lib开头 .so结尾, 中间是库的名字
动态库制作
第一步: 生成位置无关码.o文件
gcc -c test.c -o test.o -fPIC

第二步 制作动态库
gcc -shared -o lib库名.so test.o

第三步: 编译可执行程序时指定所用的动态库. -l : 指定库名, -L : 指定库路径
gcc test.c -o a.out -l name -L ./xxx

注意 -l 指定的库名字是去掉 头部的lib剩余部分.

第四步: 运行程序./a.out
报错
./dynmain.out: error while loading shared libraries: libdyn.so: cannot open shared object file: No such file or directory

这种情况是没有配置环境变量, 需要将
export LD_LIBRARY_PATH=动态库路径.
并且将这个环境变量放在 ./bashrc

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐