Linux-库制作与原理

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

先制作,再使用

1.静态库

2.接下来动态库

3.目标文件

4.ELF文件

ELF形成可执行

ELF格式文件加载到内存

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

静态链接理解

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

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


完。

相关推荐
jiecy13 小时前
为Linux系统双网卡配置静态路由
linux·运维
保持清醒54013 小时前
类和对象上
c++
hold?fish:palm13 小时前
7 接雨水
开发语言·c++·leetcode
weixin_3077791314 小时前
Linux下Jenkins数据故障的系统化排查Shell脚本
linux·运维·服务器·jenkins
荒--14 小时前
Burp Suite(二)
linux·运维·服务器
流浪00114 小时前
数据结构篇(五):线性表——栈
数据结构·c++·算法
小白还菜14 小时前
linux(Debian)使用mdadm组磁盘RAID1阵列
linux·运维
郝学胜-神的一滴15 小时前
中级OpenGL教程 022:探秘三维世界的血脉传承——物体父子关系与矩阵递归奥义
c++·线性代数·unity·矩阵·游戏引擎·unreal engine·opengl
ch0sen1pm15 小时前
刚学完 CAS 原子操作,我花了一晚上写了三个无锁队列
c++
qeen8715 小时前
【C++】vector的模拟实现详解(二)
c++·学习·算法·迭代器·stl