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

相关推荐
hhhh明1 小时前
quest2+alvr+steamvr
linux·windows·quest2
Boop_wu2 小时前
[Java EE] 计算机基础
java·服务器·前端
dqsh062 小时前
树莓派5+Ubuntu24.04 LTS CH348 / CH9344 驱动安装 保姆级教程
linux·c语言·单片机·嵌入式硬件·iot
m0_495562783 小时前
Swift的逃逸闭包
服务器·php·swift
wanhengidc3 小时前
全面了解云手机的安全性
运维·服务器·游戏·智能手机·云计算
顾安r4 小时前
11.8 脚本网页 打砖块max
服务器·前端·html·css3
menge23334 小时前
Linux DNS域名解析服务器练习
linux·运维·服务器
m0_495562784 小时前
Swift-static和class
java·服务器·swift
wsad05324 小时前
CentOS 7 更换腾讯云 yum 源及 EPEL 源
linux·centos·腾讯云
wdfk_prog4 小时前
[Linux]学习笔记系列 -- [kernel]kallsyms
linux·笔记·学习