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

相关推荐
河南博为智能科技有限公司11 分钟前
高集成度国产八串口联网服务器:工业级多设备联网解决方案
大数据·运维·服务器·数据库·人工智能·物联网
Savvy..14 分钟前
天机学堂-Day01
linux·服务器·网络
w***15311 小时前
ubuntu 安装 Redis
linux·redis·ubuntu
liweiweili1262 小时前
Linux 中替换某个目录下所有文件中的特定字符串
linux·运维·服务器
wanhengidc2 小时前
云手机 多端互通 科技
运维·服务器·科技·游戏·智能手机
弓弧名家_玄真君2 小时前
Ubuntu 20.04.3 LTS 安装vnc (Xfce4 + Xvfb)
linux·运维·ubuntu
gaize12132 小时前
不同服务器功能和技术栈适用于什么场景测评
服务器
唐·柯里昂7983 小时前
野火鲁班猫5使用正点原子 RTL8188EUS Wifi模块驱动移植(Linux5.10 Debian系统) 解决zsh报错
linux·c语言·mcu·物联网·ubuntu·硬件工程·软件构建
生活爱好者!3 小时前
【影视项目】NAS 部署稳定视频订阅源咪咕
服务器·网络·docker·容器·音视频
源梦想3 小时前
机甲恐龙动作冒险网页小游戏Linux部署教程
linux·运维·服务器