Linux动静态库

生成静态库:

1.自行编写.h和.c文件

2.将.c文件生成为.o文件

3.将.o文件打包为静态库

4.将头文件和库结合

使用静态库:

1.指定头文件和库的路径

-I 指定头文件目录 -L 指定库文件目录 -l 指定具体是哪个库

2.将库和头文件拷贝到系统目录下

这是搜索头文件和库文件的默认目录,不需要-L和-I指定位置但是仍需要使用-l指定是哪个库

生成动态库

和静态库大同小异,区别之一是使用生成.o文件的时候需要加上-fPIC选项

例如:gcc -fPIC -c add.c

区别之二是在打包的时候使用gcc -shared -o libadd.so add.o即可。

使用动态库

1.将头文件和库拷贝至系统路径

2.设置LD_LIBRARY_PATH的路径,LD_LIBRARY_PATH是Linux系统下的环境变量名,类似于Path(设置可执行文件的搜索路径)

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH: (后面是路径)

3.配置/etc/ld.so.conf.d/

在/etc/ld.so.conf.d/下新建.conf配置文件,里面写入库路径,保存退出后使用sudo ldconfig命令即可。

相关推荐
夜月yeyue29 分钟前
静态库与动态库简介
linux·c++·stm32·单片机·嵌入式硬件
川石课堂软件测试35 分钟前
涨薪技术|0到1学会性能测试第44课-apachetop模块监控
服务器·数据库·python·功能测试·性能优化·单元测试
程序员JerrySUN1 小时前
驱动开发硬核特训 │ Day 23(下篇): i.MX8MP LCDIFv3 驱动中的 Regulator 系统全解
linux·驱动开发·嵌入式硬件
我真不会起名字啊1 小时前
每日Bug:(2)共享内存
linux·运维·bug
丰锋ff1 小时前
计算机考研精炼 操作系统
运维·服务器·考研
2401_897930062 小时前
Neo4j 的 `SET n += $properties` 语法详解
linux·服务器·neo4j
zyhhsss2 小时前
curl详解
服务器·网络·笔记
hnlucky2 小时前
Docker 获取 Python 镜像操作指南
linux·运维·python·docker·容器·centos
PWRJOY2 小时前
WSGI(Web Server Gateway Interface)服务器
运维·服务器·gateway
子燕若水2 小时前
continue dev 的配置
java·服务器·前端