代码重定位——ELF分段、API/ABI、指定函数(变量)地址、分散加载、函数调用过程、动态加载

代码重定位——ELF分段、API/ABI、指定函数(变量)地址、分散加载、函数调用过程、动态加载

小狼@http://blog.youkuaiyun.com/xiaolangyangyang


        Linux读取elf命令:readelf

        Linux反汇编命令:objdump

        Linux查看可执行程序动态链接依赖命令:ldd

        静态链接库:.a .lib;动态链接库:.so .dll

一、采用分段结构的优点

        1、分段易于管理,对于代码段,是只读的,而数据段可读写;

        2、提高cache命中率,Icache与Dcache分开,分别读取代码段和数据段的数据;

        3、未初始化数据放在.bss段,生成bin文件时不包含该部分,只在startup.s的指令中保存.bss段的__bss_start和__bss_end地址,减小bin文件大小;

        4、同一进程的线程共享代码段,节省内存。

二、目标文件分段结构

     

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值