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命令即可。

相关推荐
面向对象World2 分钟前
Z8350 Broadcom SDIO网卡调试Ubuntu 22.04 Server版
linux·运维·ubuntu
Irissgwe6 分钟前
12、多路转接 select
linux·io多路转接·select
ZFSS18 分钟前
BYOK(自带密钥)使用指南
运维·服务器·前端·人工智能·midjourney
无足鸟ICT20 分钟前
【RHCA+】编辑多个文件
linux
遇事不決洛必達24 分钟前
【数据库系列】本地映射云服务器Mysql的方法
服务器·数据库·mysql·定时任务
fengyehongWorld36 分钟前
Linux fd命令
linux
AIMath~37 分钟前
hermes agent安装在Linux centos中
linux·运维·服务器
cjp56037 分钟前
001.Web Api_服务器,新建api
运维·服务器
赵民勇38 分钟前
如何查看一个二进制程序是否设置了rpath或runpath?
linux·c++
小王师傅661 小时前
深入解析:Docker在Mac上的运行本质与Linux进程管理机制
linux·macos·docker