Linux-库制作与原理

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

先制作,再使用

1.静态库

2.接下来动态库

3.目标文件

4.ELF文件

ELF形成可执行

ELF格式文件加载到内存

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

静态链接理解

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

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


完。

相关推荐
java_logo26 分钟前
轻量AI接口网关一键部署|calciumion/new-api Windows/Linux Docker 部署全教程
linux·人工智能·windows·one api·calciumion·ai网关部署·one api 部署
原来是猿27 分钟前
Linux - 【理解进程组、会话与作业控制】
linux·运维·服务器
怀旧,1 小时前
【Linux网络编程】1. 网络基础概念
linux·网络
怀旧,1 小时前
【Linux网络编程】5. 应用层协议 HTTP
linux·网络·http
郝学胜-神的一滴1 小时前
Qt 入门 01-02: 开发环境搭建指南
开发语言·c++·qt·客户端
Languorous.1 小时前
C++数据结构高阶|布隆过滤器(Bloom Filter)深度解析:从原理到手写实现,面试高频考点全覆盖
数据结构·c++·面试
SurpriseDPD2 小时前
Linux 内核基础知识:READ_ONCE、内存屏障与指令重排
linux·系统架构
D4c-lovetrain2 小时前
Linux个人心得29(深入理解K8S Pod优先级与驱逐机制:从原理到实战踩坑)
linux·运维·kubernetes
山河木马2 小时前
Emscripten 从 C/C++ 调用 JavaScript
前端·javascript·c++