7-LINUX--库文件的生成与使用

一.什么是库文件

库是一组预先编译好的方法的集合。Linux系统存储的库的位置一般在:/lib 和 /usr/lib。
在 64 位的系统上有些库也可能被存储在/usr/lib64 下。库的头文件一般会被存储在
/usr/include 下或其子目录下。
库有两种,一种是静态库,其命令规则为 libxxx.a,一种是共享库,其命令规则为 libxxx.so,
如下图所示:

二.静态库的生成与使用

1.静态库的生成

以下是需要生成静态库的".c"文件,其中"foo.h"中是函数的声明,"add.c"和"max.c"
是函数的定义:

具体步骤:

三.共享库的生成与使用

1.共享库的生成

以下是需要生成共享库的".c"文件,其中"foo.h"中是函数的声明,"add.c"和"max.c" 是函数的定义:

具体步骤

四.环境变量

如果库不在标准位置下,也可以通过设置环境变量"LD_LIBRARY_PATH"来指定加
载库的路径。

五.静态库和共享库的区别

1.程序使用静态库,编译后,用到的库方法会复制到可执行程序中,再次运行,直接运行当前程序,不要连接静态库。
2.程序使用共享库,编译链接后,可执行程序只标记到用到的库方法,并不包含,再次运行,动态链接到要用的共享库。
因此,含有静态库的程序占有内存较大。

相关推荐
老蒋新思维1 分钟前
创客匠人:小团队的知识变现革命 —— 超级个体 + 多智能体如何重构组织价值
服务器·网络·人工智能·重构·创始人ip·创客匠人·知识变现
qq_310658514 分钟前
mediasoup源码走读(十一)——consumer
服务器·c++·音视频
大江东第一深情5 分钟前
Origin 2024 进行语言切换后仍然显示为英文
运维·前端
福尔摩斯张9 分钟前
基于TCP的FTP文件传输系统设计与实现(超详细)
linux·开发语言·网络·网络协议·tcp/ip·udp
Sleepy MargulisItG12 分钟前
【Linux网络编程】应用层自定义协议与序列化
linux·服务器·网络·网络协议·tcp/ip
CSDN官方博客16 分钟前
CSDN社区镜像创作活动
大数据·运维·人工智能
..过云雨18 分钟前
15-2.【Linux系统编程】进程信号 - 信号保存(信号处理流程的三种状态:未决、阻塞、递达,信号保存由未决表完成、sigset_t信号集类型及相关函数)
linux·c++·后端·信号处理
Kiri霧23 分钟前
Go Defer语句详解
java·服务器·golang
石小千28 分钟前
Ubuntu24.04 安装Docker
运维·docker·容器
坏一点29 分钟前
Yocto项目构建(3)——构建和部署树莓派镜像
linux·驱动开发·嵌入式硬件