Linux-库制作与原理

自己做库,不用C、C++的原有库

先制作,再使用

1.静态库

2.接下来动态库

3.目标文件

4.ELF文件

ELF形成可执行

ELF格式文件加载到内存

OS读取Program Header Table时,发现你要读取的数据段的权限是只读的,它初始化页表构建映射关系时,把权限往里写。

静态链接理解

填充地址,叫做地址重定位,.o被叫做可重定位目标文件,原因是,链接时,它的地址会被重新修改!

延迟绑定plt,加载时OS要进行大量的地址重定位,不如将这个过程延迟到第一次调用库函数的时候,因为大多数库函数可能都不会被调用。


完。

相关推荐
charlie1145141912 分钟前
嵌入式C++开发第17篇:C++23特性收尾 —— 属性、链接与零开销抽象的最终证明
开发语言·c++·stm32·学习·c++23
小成2023032026511 分钟前
数据结构(整理常见结构总结到树层级)
java·c语言·数据结构·c++·链表
枕布响丸辣11 分钟前
万字详解 GlusterFS 分布式文件系统:原理 + 卷类型 + CentOS 7 集群部署
linux·运维·centos
ximu_polaris12 分钟前
设计模式(C++)-结构型模式-外观模式
c++·设计模式·外观模式
Elivs.Xiang17 分钟前
ubuntu20中安装Jenkins
linux·运维·ubuntu·jenkins
说再见再也见不到18 分钟前
Ubuntu 将阿里云 OSS 对象存储挂载为本地硬盘(含开机自启)
linux·运维·服务器·ubuntu·阿里云·云计算
凤年徐18 分钟前
自动化构建工具:make 与 Makefile
android·java·linux·自动化
Xiu Yan21 分钟前
Java 转 C++ 系列:STL常用函数
java·开发语言·c++·stl·visual studio
小樱花的樱花27 分钟前
Linux Shell命令入门
linux·服务器·开发语言
沫璃染墨28 分钟前
C++ std::list 深度解析:迭代器、splice 核心接口与排序效率全解
开发语言·c++