当前位置: 首页 > news >正文

漯河企业网站建设做网站的原理

漯河企业网站建设,做网站的原理,汕头h5建站,云南微网站建设的公司有哪些链接和加载(linker and loader)#xff1a; linker即链接器#xff0c;它负责将多个.c编译生成的.o文件#xff0c;链接成一个可执行文件或者是库文件#xff1b; loader即加载器#xff0c;它原本的功能很单一只是将可执行文件的段拷贝到编译确定的内存地址即可#x…链接和加载(linker and loader) linker即链接器它负责将多个.c编译生成的.o文件链接成一个可执行文件或者是库文件 loader即加载器它原本的功能很单一只是将可执行文件的段拷贝到编译确定的内存地址即可但是有了动态链接库以后部分的外部库引用符号在加载的时候才会得到解析所以加载也要处理链接器的相同操作重定位。 重定位原理 符号表(Symbol Table) 符号表就是一张字符符号和地址的对应表符号表的作用就是一个助记符用一个字符串来标示某些抽象的地址它能标示的地址有代码地址和数据地址代码地址包括函数名、跳转标号数据地址包括全局变量。 符号表的组织如下图所示 符号表的作用就是将符号名称和地址进行绑定。而绑定的根本目的就是方便对符号的引用在符号值发生改变的时候不需要去手工改动源代码中对符号引用的地方而这种改动是由链接程序在重新生成执行文件时自动完成的。 重定位表(Relocation) 有了符号表就需要有人对符号表进行引用在程序的执行过程中对全局变量的引用、跳转、调用函数这些都涉及到相应的符号引用。符号和其引用是一对多的关系一个符号可能被代码中多处引用。因为符号值改变的时候也需要对所有引用符号的地方的代码进行修改所以需要还有一张表来记录符号表的引用关系这就是重定位表 从上图可见重定位表项用来记录链接和加载的过程中需要重新定位的位置在各个段位置发生改变而引起符号地址改变时根据重定位表来修改符号引用的值。 GOT表(Global Offset Table) 加载过程中的重定位使用了一种改良的重定位手段即通过两张间接访问表来屏蔽掉重定位带来的对代码的修改访问外部数据使用GOT访问外部程序使用PLT。这样可链接出位置无关代码PICPosition Independent Code需要重定位时只需要修改GOT和PLT的值而不需要去改动可执行代码。 PLT表(Procedure Linkage Table) 加载过程中的重定位为了避免对代码的修改引入了GOT来屏蔽对数据的访问同理对外部代码的访问也是可以用GOT来访问的。但是为了实现动态链接的特性即使用的时候才链接不使用时可以不用链接对外部代码的访问引入了一个新的表项PLT。 elf文件 elf文件格式 Linux环境下三种类型的执行文件都可以使用elf格式来表示可重定位文件即编译生成但是未连接的文件、动态库文件、可执行文件。 Elf文件提供了两种文件解析的视角链接视角和动态加载视角。链接视角使用section的概念来解析文件主要关注链接过程的使用动态加载视角使用segment的概念来解析文件主要关注加载和动态链接的实现。 整个文件的组织框图如上所示ELF头描述了section header table和program header table的起始位置、表项大小和个数。根据section header table来寻址相应的section根据program header table来寻址相应的segment可以看到一般是一个segment包含多个section。 Linux下可以操作elf文件的有以下工具 a.readelf “readelf –a file“读出elf文件的所有信息。b.nm “nm file“读出elf文件的符号表信息。c.objdump “objdump –d file“反汇编出elf文件中包含可执行代码的sectionelf命令中功能最强大的一个。d.objcopy 转换elf文件为bin或者其他格式的文件编译内核的时候会使用到。e.strip 去掉elf文件中符号表和调试信息对elf文件进行减肥。f.addr2line 将绝对地址转换成调试信息中的源文件行号。elf文件中符号表和调试信息对elf文件进行减肥。 f.addr2line 将绝对地址转换成调试信息中的源文件行号。
http://www.pierceye.com/news/224595/

相关文章:

  • 电子商务的网站的建设内容珠海自适应网站
  • 站酷海洛设计网站官网wordpress选了中文还是英文
  • 软件最全网站如何上传织梦做的网站
  • 做系统前的浏览网站能找回吗湖南网站建设价位
  • 工程服务建设网站那个网站可以做视频app制作
  • 国外网站访问速度慢企业网络营销策划案
  • 网站建设 亿安网络wordpress 调取菜单
  • 帝国网站管理系统安装教程互联网怎么做网站
  • 模板手机网站建设公司河南最新新闻事件今天
  • 企业网站备案要钱吗商标设计费用一般是多少
  • 天津专业网站制作新乡商城网站建设价格
  • 建筑业务网站建设泉州公司做网站
  • 做网站遇到的问题及解决方法网站快速查找
  • excel做网页放进网站2024年报申报入口官网
  • 伊春住房和城乡建设局网站滨州网站建设制作
  • 芒市网站建设wordpress登入修改
  • 室内设计招标网站mvc网站入口asp
  • 淘宝客怎么建设自己网站wordpress主题模板仿
  • 淄博做网站电话网站建设大赛策划书
  • 网站建设模板网站网站分析的优劣势
  • 医疗网站备案要怎么做 需要准备什么材料高端html5网站建设织梦模板
  • 网站建设支付方式站长之家seo综合
  • 桂林网丫网业管理有限公司外贸网站建设和优化
  • 安徽合肥中国建设银行网站首页如何寻找做网站的客户
  • 网站是怎么做网站建设风险是什么
  • 商丘电子商务网站建设徽文化网站建设方案书
  • 什么网站做视频给钱网上做广告宣传
  • 建网站域名注册后需要做seo是什么意思
  • 做系统正版win10系统下载网站安定网站建设
  • 代码怎么做网站网站建设合同 简单