- 10
- 0
- 约1.63万字
- 约 11页
- 2017-06-04 发布于湖北
- 举报
一、map、全局符号及静态符号一般的大型工程都会在生成可执行文件的同时让链接器生成一个map文件,从而大致查看一下可执行文件中符号的内存布局以及从哪里引入可执行文件。这个通常对于小型工程是作用不大,因为代码就那么多,随便grep一下就知道符号定义位置了。但是对于一些大型工程或者涉及了比较多的第三方库、或者涉及了比较多的功能模块的时候,就需要知道这些符号是在哪里定义,或者说如果一个符号引用了但是没有知道函数定义,此时也需要找到这个符号是哪个模块引入的,为什么需要,所以需要一些通用的(形式化)的方法来搜索这些符号,而map文件就是一个比较好的切入点。但是map符号并不是万能的,它只能列出参与链接的全局变量的位置以及在哪个模块,对于一些静态变量,map文件中并不能体现它们,而在没有特殊声明的情况下,可执行文件中将会包含静态符号在符号表中,所以有时候我们只能依赖可执行文件本身里面的符号表来猜测一个符号的定义位置。说起静态符号,还有就是它是如何保证它只在一个编译模块中可见和被引用,而对其它模块不可见?二、map文件相关对于ld程序来说,生成map文件可以使用-Map=mapfile来指示链接器来生成一个可执行文件使用的map文件。在内核的构建过程中,也会生成一个System.map文件来表示内核中各个符号在内核中位置,但是这个文件并不是通过ld的-Map选项生成,而是使用了nm和gre
您可能关注的文档
- 进程间通信机制的分析及比较.ppt
- 进程与进程间的通信.doc
- 进制和编码练习.doc
- 近世代数课件--2.3理想及商环.ppt
- 近义实词使用.ppt
- 静态时序分析和其在IC设计中的应用《敏化路径》.pdf
- 酒店营销创新及创新思维训练.ppt
- 课程设计(论文)-基于组态王监控软件设计.doc
- 课程设计任务六 文件操作及管理.doc
- 课件:第一节C程序设计概述.pdf
- 2024-2025学年湖南省邵阳市新宁县回龙寺镇人教版一年级下册期中测试数学试卷.docx
- 2024-2025学年山东省德州市平原县王杲铺中小、王凤楼中小、腰站镇中小青岛版一年级下册3月月考数学试卷.docx
- 第四单元 课题3 物质组成的表示-初中化学新教材预习学案(人教版2024九年级上册).docx
- 2024-2025学年山东省济宁市梁山县人教版一年级下册期中测试数学试卷.docx
- 2024-2025学年山东省德州市德州经济技术开发区长河小学等校青岛版一年级下册期中考试数学试卷.docx
- 2026《基于国产开源单片机GD32VF103的输变电设备物联网传感器设计》8300字.docx
- 2024年中考道德与法治真题完全解读(北京卷).docx
- 2026《基于机器视觉识别的工件边缘曲线重构方法分析》9000字.docx
- 课时9.4 物体的浮与沉【一大题型】八年级全一册物理(沪科版2024).docx
- 2024-2025学年广东省江门市开平市人教版一年级下册期中综合素养评价数学试卷.docx
原创力文档

文档评论(0)