- 1、本文档共94页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(程序的链接2
可执行文件的链接生成 主要教学目标 使学生了解链接器是如何工作的,从而能够养成良好的程序设计习惯,并增加程序调试能力。 通过了解可执行文件的存储器映像来进一步深入理解进程的虚拟地址空间的概念。 包括以下内容 链接和静态链接概念 三种目标文件格式 符号及符号表、符号解析 使用静态库链接 重定位信息及重定位过程 可执行文件的存储器映像 可执行文件的加载 共享(动态)库链接 程序的链接 分以下三个部分介绍 第一讲:目标文件格式 程序的链接概述、链接的意义与过程 ELF目标文件、重定位目标文件格式、可执行目标文件格式 第二讲:符号解析与重定位 符号和符号表、符号解析 与静态库的链接 重定位信息、重定位过程 可执行文件的加载 第三讲:动态链接 动态链接的特性、程序加载时的动态链接、程序运行时的动态链接、动态链接举例 原始的链接概念早在高级编程语言出现之前就已存在 最早程序员用机器语言编写程序,并记录在纸带或卡片上 用符号表示跳转位置和变量位置,是否简化了问题? 汇编语言出现 用助记符表示操作码 用符号表示位置 用助记符表示寄存器 ….. 更高级编程语言出现 程序越来越复杂,需多人开发不同的程序模块 子程序(函数)起始地址和变量起始地址是符号定义(definition) 调用子程序(函数或过程)和使用变量即是符号的引用(reference) 一个模块定义的符号可以被另一个模块引用 最终须链接(即合并),合并时须在符号引用处填入定义处的地址 如上例,先确定L0的地址,再在jmp指令中填入L0的地址 目标文件 链接操作的步骤 1)确定标号引用关系(符号解析) 2)合并相关.o文件 3)确定每个标号的地址 4)在指令中填入新地址 目标文件的格式 目标代码(Object Code)指编译器和汇编器处理源代码后所生成的机器语言目标代码 目标文件(Object File)指包含目标代码的文件 最早的目标文件格式是自有格式,非标准的 标准的几种目标文件格式 DOS操作系统(最简单) :COM格式,文件中仅包含代码和数据,且被加载到固定位置 System V UNIX早期版本:COFF格式,文件中不仅包含代码和数据,还包含重定位信息、调试信息、符号表等其他信息,由一组严格定义的数据结构序列组成 Windows: PE格式(COFF的变种),称为可移植可执行(Portable Executable,简称PE) Linux等类UNIX:ELF格式(COFF的变种),称为可执行可链接(Executable and Linkable Format,简称ELF) 链接视图—可重定位目标文件 可被链接(合并)生成可执行文件或共享目标文件 静态链接库文件由若干个可重定位目标文件组成 包含代码、数据(已初始化.data和未初始化.bss) 包含重定位信息(指出哪些符号引用处需要重定位) 文件扩展名为.o(相当于Windows中的 .obj文件) switch-case语句举例 ELF头(ELF Header) ELF头位于ELF文件开始,包含文件结构说明信息。分32位系统对应结构和64位系统对应结构(32位版本、64位版本) 以下是32位系统对应的数据结构 ELF头信息举例 $ readelf -h main.o ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2s complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: REL (Relocatable file) Machine: Intel 80386 Version: 0x1 Entry point address: 0x0 Start of program headers: 0 (bytes into file) Start of section headers: 516 (bytes into file) Flags: 0x0 Size of this header: 52 (bytes) Size of program headers: 0 (bytes) Number of program headers: 0 Size of section headers: 40 (bytes) Number of section headers: 15 Section h
您可能关注的文档
- (高等教育心理学考试样题农大老师传.doc
- (高等教育心理学考试模拟试题及答案.doc
- (电大安装工程估价实训指导书.doc
- (高等教育心理学试卷0109年江苏省高校、中专校新教师岗前培训.doc
- (电大市场营销2.doc
- (高等教育心理学试卷1211.doc
- (电大形成性测评计算机应用技术基础01.doc
- (电大教育学形成性考核册.doc
- (电大家庭教育作业.doc
- (电大本西方经济学06任务00061A.doc
- 人教PEP版(2024)新三年级下册 教材解读.pptx
- 第7课《党是最高政治领导力量》第1框《不忘初心、牢记使命》课件 中职高教版中国特色社会主义.pptx
- Unit 3 My week 第三课时Wrap-up time Assessment time课件译林英语四年级上册.pptx
- 第14课《推进绿色发展》第1框《生态文明建设的基本理念》课件 中职高教版中国特色社会主义.pptx
- 1.2地球与地球仪(课时1) 课件 2025七年级地理上册人教版.pptx
- 人教PEP版(2024)新四年级上册 教材解读.pptx
- 第7课《党是最高政治领导力量》第2框课件《坚持和加强党的全面领导》课件 中职高教版中国特色社会主义.pptx
- 第9课《发展社会主义民主政治》第1框《发展全过程人民民主》课件 中职高教版中国特色社会主义.pptx
- 人教版(PEP)四年级上册英语全册教学设计教案表格式.docx
- Unit 3 Places we live in大单元整体教学设计2025人教版英语四年级上册.docx
最近下载
- 八项规定回头看自查报告.pdf VIP
- 2012北京 第一册市政道路、桥梁工程预算定额.pdf VIP
- 华为LTC流程IPD流程ITR流程三大核心流程变革一篇文章就全明白啦V2.0!.pdf VIP
- 普洱哈尼族彝族自治县2025年数学五年级第二学期期末学业质量监测试题含答案.doc VIP
- D-ZD2010发电厂汽水管道支吊架设计手册制造图册-中国电力规划.pdf VIP
- 产科急救应急预案.docx VIP
- 关于社区卫生服务中心五年发展规划十五五发展规划2025.docx VIP
- NBT 25085-2018 核电厂常规岛焊接技术规程.pdf VIP
- 烟草代办合同范本6篇.docx VIP
- 危险废物污染防治责任制度.docx VIP
文档评论(0)