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.程序使用共享库,编译链接后,可执行程序只标记到用到的库方法,并不包含,再次运行,动态链接到要用的共享库。
因此,含有静态库的程序占有内存较大。

相关推荐
coder_lorraine1 分钟前
【Linux系列】Linux文件类型大揭秘:不只是文件与文件夹的奇幻世界!
linux
MarkGosling13 分钟前
【开源项目】轻量加速利器 HubProxy 自建 Docker、GitHub 下载加速服务
运维·git·docker·容器·开源·github·个人开发
qq_3129201119 分钟前
MySQL在Linux环境下的性能调优
linux·mysql·adb
java叶新东老师34 分钟前
Linux /proc/目录详解
linux·运维·服务器
都给我1 小时前
服务器中涉及节流(Throttle)的硬件组件及其应用注意事项
服务器·网络·express
long_mingyue2 小时前
CVE-2022-46169漏洞复现
linux
吹个口哨写代码2 小时前
防止包含 XSS 攻击风险的内容提交成功
java·服务器·前端
默|笙2 小时前
【Linux】基本指令(2)
linux·运维·服务器
ZY小袁2 小时前
MGRE综合实验
服务器·网络·笔记·网络安全·学习方法·信息与通信·p2p
一位搞嵌入式的 genius2 小时前
暑期自学嵌入式——Day10(C语言阶段)
linux·笔记·学习·嵌入式c语言