Linux-库制作与原理

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

先制作,再使用

1.静态库

2.接下来动态库

3.目标文件

4.ELF文件

ELF形成可执行

ELF格式文件加载到内存

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

静态链接理解

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

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


完。

相关推荐
初中就开始混世的大魔王2 小时前
3.2 DDS 层-Domain
开发语言·c++·中间件
地下核武2 小时前
Ubuntu 26.04 “星际之门”(Luminous) 发布全解析
linux·运维·ubuntu
sorel_ferris2 小时前
Ubuntu 22.04 NVIDIA 驱动问题修复报告
linux·ubuntu
暂未成功人士!2 小时前
在windows电脑上的vscode使用sftp将项目文件与嵌入式平台(Ubuntu)同步的方法
linux·运维·vscode·ubuntu·ssh
Amnesia0_03 小时前
linux中的git和gdb
linux·运维·git
Yu_Lijing3 小时前
基于C++的《Head First设计模式》笔记——访问者模式
c++·笔记·设计模式
浅念-3 小时前
Linux 进程与操作系统
linux·运维·服务器·网络·数据结构·笔记·网络协议
计算机安禾3 小时前
【数据结构与算法】第20篇:二叉树的链式存储与四种遍历(前序、中序、后序、层序)
c语言·开发语言·数据结构·c++·学习·算法·visual studio
顶点多余3 小时前
POSIX信号量+生产消费模型应用+环形缓冲区实现
linux·c++