Linux-库制作与原理

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

先制作,再使用

1.静态库

2.接下来动态库

3.目标文件

4.ELF文件

ELF形成可执行

ELF格式文件加载到内存

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

静态链接理解

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

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


完。

相关推荐
沫璃染墨13 小时前
《从零入门Linux系统篇(十五):系统工具篇·六——GDB调试器详解:从程序执行控制到高级调试技巧》
linux·运维·服务器·c语言·c++
吃着火锅x唱着歌13 小时前
Effective C++ 学习笔记 条款40 明智而审慎地使用多重继承
c++·笔记·学习
醉城夜风~14 小时前
(超详细)C++ STL list容器详解:从使用方法到双向链表底层原理全面解析
c++·windows
AIgorithmGEEK14 小时前
Linux 环境变量完全指南:从入门到理解底层原理
linux·运维·服务器
烟花落o15 小时前
C++ 从 C 到进阶 ②:引用、inline 、nullptr
c++·引用·inline·nullptr·c++入门
liulilittle15 小时前
MOE路由:路由(logits: top-k/8)
c++·人工智能·算法·机器学习·llm
旖旎夜光15 小时前
LeetCode 11:盛最多水的容器(双指针问题) —— 题解
数据结构·c++·算法·leetcode·双指针
酷可达拉斯15 小时前
Linux操作系统-升级OpenSSH修复漏洞
linux·运维·服务器·云计算
Molesidy15 小时前
【Linux】基于busybox的根文件系统的完善
linux·服务器·嵌入式linux
CoovallyAIHub15 小时前
一个集装箱从船到火车的两个小时,AI 搭档 Coco在中间做了什么
操作系统·agent·资讯