C-数据结构-动态库

/*

动态库基本实现

c 复制代码
libxx.so   xx是库名  .so 后缀
gcc -shared -fpic -o libxx.so yyy.c

发布到 
/usr/local/include/
/usr/local/lib

在  /etc/ld.so.conf 中添加路径 
/sbin/ldconfig   重读  /etc/ld.so.conf   为了上面的步骤生效
gcc -I/usr/local/include -L/usr/local/lib -o ... -lxx
ldd 命令

非 root 用户发布
cp xx.so ~/lib
export LD_LIBRARY_PATH=~/lib

当动态库与静态库重名 首先链接动态库  尽量不要重名

*/

llish.h,llist.c,mian.c,Makefile

c 复制代码
gcc -shared -fpic -o libllist.so llist.c   生成libllist.so
cp llist.h /usr/local/include/
cp libllist.so /usr/local/lib/
vim /etc/ld.so.conf     添加路径   /usr/local/lib/
/sbin/ldconfig   运行重读 生效
gcc -o main main.c -lllist
./main
ldd ./main

下面进行举例 针对 本专栏文章 C-数据结构-链式存储栈(二次封装)

llist.c llist.h main.c Makefile stack.h stack.c

c 复制代码
gcc -share -fpic -o libstack.so stack.c  生成libstack.so
mv libstack.so /usr/local/lib/
cp stack.h /usr/local/include/
/sbin/ldconfig    重读
gcc -o main main.c -lstack -lllist  双重链接依赖,有依赖关系时,被依赖的库写后面
ldd ./main

下面进行举例 针对 本专栏文章 C-数据结构-链式存储队列

llist.c llist.h main.c Mkaefile queue.c queue.h

c 复制代码
gcc -shared -fpic -o libqueue.so queue.c  生成libqueue.so
mv libqueue.so /usr/local/lib/
cp queue.h /usr/local/include/
/sbin/ldconfig    重读
gcc -o main main.c -lqueue -lllist 
./main
相关推荐
jinanwuhuaguo4 分钟前
OpenClaw 2026年4月升级大系深度解读剖析:从“架构重塑”到“信任内建”的范式跃迁
android·开发语言·人工智能·架构·kotlin·openclaw
geovindu15 分钟前
go: Simple Factory Pattern
开发语言·后端·设计模式·golang·简单工厂模式
jolimark24 分钟前
C语言标准与编译器,新手该看哪些?
c语言·开发工具·环境搭建·编译器·新手指南
xixixi7777726 分钟前
从5G标准到6G前沿:Polar码的技术演进与未来之路
开发语言·人工智能·5g·大模型·php·通信·polar码
小二李34 分钟前
什么是依赖注入(DI)&控制反转IoC
java·开发语言
是宇写的啊43 分钟前
SpringIoc和Di
java·开发语言
沐雪轻挽萤44 分钟前
3. C++17新特性-带初始化的 if 和 switch 语句
开发语言·c++
xianluohuanxiang1 小时前
2026年深度:高精度气象+新能源,从风速误差到收益偏差,行业赋能正在重构电站盈利模型
大数据·开发语言·人工智能·机器学习
froginwe111 小时前
SQL PRIMARY KEY(主键)
开发语言
2401_885885041 小时前
视频短信接口集成起来复杂吗?API接入说明
开发语言·php·音视频