*.map文件

2023-05-16

    关于linux程序的map文件,网络上资料很少,大概看了下map文件,虽然理解的不是很透彻,但是还是对程序的编译、运行、内存分配有了一点新的认识。

    1). map文件是程序的全局符号、源文件和代码行号信息的唯一的文本表示方法,是整个程序工程信息的静态文本,通常由linker生成。(抄至网络)
    map文件保存整个工程的静态文本信息,里面有所有函数的入口地址。
    通过查看map文件,我们可以找到代码段(.text),全局未初始化区(.bss),数据段(.data),还有些不懂的.pdata、.edata、.rsrc、.stab等。
    (编译原理是硬伤,有时间一定要学学。)

    2). linux下编译生成map文件
    g++ -g  mapFile.cpp -Wl,-Map,mapFile.map

    3). map文件的作用是,我们可以根据程序产生错误地址在map文件中找到相应的函数、变量地址。
    在这里,我有一个疑问: 一直以为程序编译后的地址为逻辑地址(段选择符+偏移地址),根据段选择符找到段基址、加上偏移地址才得到线性地址,但是在map文件中得到的却是线性地址。
    为什么会是这样呢?网上找到个答案,但不敢完全认同。
    Linux中逻辑地址等于线性地址。为什么这么说呢?因为Linux所有的段(用户代码段、用户数据段、内核代码段、内核数据段)的线性地址都是从 0x00000000 开始,长度4G,这样 线性地址=逻辑地址+ 0x00000000,也就是说逻辑地址等于线性地址了。 

    还是有很多的疑惑和不确定,暂且记录下来,待我知识体系完善了,再来更新吧。

    结论:去学习、思考、实践、创新,否则只能生活在自以为是的那么一个小圈子里自“愚”自乐。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

*.map文件 的相关文章

  • Scala中的 方法map和flatMap

    map操作 map操作是针对集合的典型变换操作 它将某个函数应用到集合中的每个元素 并产生一个结果集合 比如 给定一个字符串列表 我们可以通过map操作对列表的中每个字符串进行变换 让每个字符串都变成大写字母 这样变换后就可以得到一个新的集
  • Map和Set详解

    一 二叉搜索树搜索树 1 二叉搜索树的概念 二叉搜索树又称二叉排序树 它或者是一棵空树 或者是具有以下性质的二叉树 若它的左子树不为空 则左子树上所有节点的值都小于根节点的值 若它的右子树不为空 则右子树上所有节点的值都大于根节点的值 它的
  • 正确使用STL-MAP中Erase函数 一切尽在代码中。

    include
  • 编程经验分享(寻找map中的max与min)——力扣·百战炼磨(一)

    2021 4 14 力扣第47场双周赛 虚拟竞赛 第三题 所有子字符串美丽值之和 力扣 1781 以下经验来自于对该题目的解决 一个字符串的 美丽值 定义为 出现频率最高字符与出现频率最低字符的出现次数之差 比方说 abaacc 的美丽值为
  • vue-cli3.0引入高德3d动画效果方法一:

    前言 因为两个方法代码量都特别大 这里分2个页面详细说一下 这个页面是方法一 包括vue cli3 0中使用和html中使用两种示例 注意 这里有想看另一种方法的童鞋请点入口 https blog csdn net qq 41619796
  • Java:Map转List (用stream实现)

    例子 Map
  • reduce和map的区别

    1 reduce 上代码 from functools import reduce sum1 reduce lambda x y x y range 1 5 print sum1 10 输出结果 10 结论 reduce返回的是函数经过执行
  • 蓝桥杯:外卖店优先级(map排序算法) Java

    分析 发现只是输入两种数据 则可以考虑用map 经过分析发现 可以用店家编号来表示map的第一个参数Integer 第二个参数因为有可能有多个相同的时刻 所以用arraylist
  • STL:map

    首先包含头文件 include
  • Java常用对象API——Map集合

    java util 接口 Map
  • 用openlayers在加载离线瓦片(里面附带下载瓦片的软件,请往下看)

    首先先来看看效果 这个是谷歌卫星图 然后我们说说怎么实现的吧 div style width 100 height 800px div
  • mybatis中使用map批量更新

    最近项目中会用到批量更新功能 数据是存在map中的 key作为更新的id 而value作为更新的值 纠结了很久最后算是解决了 特此记录 希望对有需要的有一定帮助
  • 7-52 两个有序链表序列的交集 (20 分)(思路加详解尾插法)come Boby!

    一 题目 已知两个非降序链表序列S1与S2 设计函数构造出S1与S2的交集新链表S3 输入格式 输入分两行 分别在每行给出由若干个正整数构成的非降序序列 用 1表示序列的结尾 1不属于这个序列 数字用空格间隔 输出格式 在一行中输出两个输入
  • Python 的 map、列表推导、循环效率比较

    话不多说 直接上代码 1 准备数据 三个列表 import time x x1 x2 for i in range 1000000 x append i x1 append i x2 append i 2 开始表演 2 1 for循环 st
  • 【 C++ 】map、multimap的介绍和使用

    目录 1 map map的介绍 map的定义 insert插入函数 map的迭代器 运算符重载 find查找函数 erase删除函数 其它函数 总结 2 multimap multimap的介绍 multimap的使用 1 map map的
  • C++中STL用法超详细总结

    目录 1 什么是STL 2 STL内容介绍 2 1 容器 2 2 STL迭代器 2 3 算法 2 4 仿函数 2 4 1 概述 2 4 2 仿函数 functor 在编程语言中的应用 2 4 3 仿函数在STL中的定义 2 5 容器适配器
  • Golang 数据结构 —— 字典

    Golang 数据结构 字典 字典存储 key value 对 Go提供了非常方便的实现 内置的map类型 本文增强内置的map类型 添加便捷的操作用于获取或改变其内容 创建ItemDictionary泛型 并发安全的 能够生成任何具体类型
  • [python] 下载天地图切片地图

    下载xyz地图 资源 下列为常用xyz路由地址 为了避免图片中出现文字标注 道路名称 建筑物名称等 本文选择天地图tian vec 作为获取资源对象 var mapUrl 高德地图 lang可以通过zh cn设置中文 en设置英文 size
  • 最小外接矩形思路以及实现

    最小外接矩形 外接矩形计算 对一个凸多边形进行外接矩形计算 需要知道当前面的最大xy 和最小xy值 即可获得外接矩形 最小外接矩形计算 对凸多边形的每一条边都绘制一个外接矩形求最小面积 下图展示了计算流程 计算流程 旋转基础算法实现 旋转点
  • Java实体类转Map、Map转实体类

    1 创建entity User java package com jeff entity public class User private String userName private String password private I

随机推荐

  • Matlab找不到新添加在路径里的.m文件

    我是把文件放在matlab toolbox路径下了 xff0c 需要更新一下toolboxcache就可以了 使用命令的方式 xff1a rehash toolboxcache
  • C中字符串查找

    目录 1 查找单个字符 strchr strrchr 2 查找多个字符中任一字符 strpbrk 3 查找一个子串 strstr 4 逐个检查两个字符串 strspc strcspn 字符串查找分为 xff1a 在字符串中查找单个字符 xf
  • 神经网络中的epoch、batch、batch_size、iteration的理解

    神经网络中的epoch batch batch size iteration的理解 下面说说这三个区别 xff1a xff08 1 xff09 batchsize xff1a 批大小 在深度学习中 xff0c 一般采用SGD训练 xff0c
  • PyTorch源码解读(四)torchvision.models

    PyTorch框架中有一个非常重要且好用的包 xff1a torchvision xff0c 该包主要由3个子包组成 xff0c 分别是 xff1a torchvision datasets torchvision models torch
  • 3、AI的道德风险测试

    AI的道德性 AI系统的道德性如何保障是一个重要而复杂的问题 涉及到人工智能的发展 应用 监管 伦理 法律等多个方面 保障AI系统的道德性是一个很重要的问题 因为AI系统不仅会影响人类的生活和工作 也会涉及人类的价值观和伦理道德原则 针对这
  • 舵机单独供电时与单片机共地接线图

    转载 xff0c 原文链接为 xff1a https blog csdn net LUqingyaun article details 88600573 简单说 xff1a 外部电源两根线 xff0c VCC接舵机 xff0c GND接单片
  • 【正点原子】STM32开发板实验教程(F103)第52讲 I2C通信实验

    IIC通信 I2C xff08 IIC xff0c Inter Integrated Circuit xff09 xff0c 两线式串行总线 xff0c 由PHILIPS公司开发用于连接微控制器及外围设备 它是由数据线SDA和时钟线SCL构
  • 【解决方案】WSL2下rviz启动不了(Segmentation fault)

    好久没用WSL2了 xff0c 前几天使用了下 xff0c 发现rviz一直启动不了 出现以下问题 到处搜寻解决方案 xff0c 最后终于解决啦 xff01 xff01 参考文章 具体解决方案 首先启动rviz xff0c 出现上述问题 r
  • 【ROS】—— ROS通信机制——服务通信(三)

    文章目录 前言1 服务通信理论模型2 服务通信自定义srv2 1 定义srv文件2 2 编辑配置文件2 3 编译 3 服务通信自定义srv调用 C 43 43 3 1 vscode配置3 2 服务端3 3 客户端3 4 配置 CMakeLi
  • 【ROS】—— ROS常用组件_TF坐标变换_多态坐标变换与TF坐标变换实操(十一)

    文章目录 前言1 多态坐标变换1 1 发布方1 2 订阅方 C 43 43 1 3 订阅方 python 2 坐标系关系查看3 TF坐标变换实操 C 43 43 3 1准备3 2 生成新的乌龟3 3 增加键盘控制3 4 发布方 发布两只乌龟
  • 自动驾驶自主避障概况

    文章目录 前言1 自主避障在自动驾驶系统架构中的位置2 自主避障算法分类2 1 人工势场法 xff08 APF xff09 2 1 1引力势场的构建2 1 2斥力势场的构建2 1 3人工势场法的改进 2 2 TEB xff08 Timed
  • LQR算法基本原理

    LQR算法基本原理 前言 陈苏的最优控制 https www wendangwang com doc 1b3fea9be6dd6e50a295238b 3 文章是对陈苏的最优控制PPT的原理部分进行的简单总结 xff0c 若文中存在错误 x
  • <FreeRTOS入门第四节>其他相关API介绍

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 API介绍 xff1f 二 API具体介绍1 UBaseType t uxTaskPriorityGet const T
  • <FreeRTOS入门第九节>事件标志位

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 事件标志位是什么 xff1f 二 API介绍1 事件标志位的创建2 事件标志位的设置3 事件标志位清除4 获取某一位的事
  • 2019小结

    2019已经过去 xff0c 回想这过去的一年 xff0c 是近几年来最忙碌的一年 年初 xff0c 参加了一场读书会 xff0c 和公司同事一起读书 一本优秀的书是作者思想的精华 xff0c 通过读书可以认识和了解自己思维以外的世界 虽然
  • 4 AI系统的道德风险之歧视和不平等性的验证方法

    在人类社会中歧视和不平等是非常严重的问题 歧视和不平等会侵犯人的尊严和权利 阻碍社会的发展与和谐 根据联合国的相关资料描述 歧视和不平等的形势很多 包含种族歧视 性别歧视 地域歧视 宗教歧视 残疾歧视等等 打击歧视和不平等是全人类的共同责任
  • 继续前行

    很久没有更新日志了 xff0c 很久没有写博客了 xff1b 我知道我有的时候很忙 xff0c 我知道当前还有更重要的事情 xff0c 我知道事情是做不完的 但不管怎么样 xff0c 我该停下脚步想一想 xff0c 怎么去走好下一步 202
  • 《即兴演讲》读书笔记

    这是一本我一直在寻找的书 xff1b 因为我从事技术工作 xff0c 十多年来每天都和计算机打交道 xff0c 很少有机会站在台上讲话 xff1b 我对演讲是敬畏的 xff0c 想上台表现自己但心里又充满了恐惧 xff1b 偶尔的上台机会只
  • 读“赵4老师”言论

    在查看CSDN论坛时 xff0c 发现 赵4老师 无处不在 xff0c 赵4老师 通常不会直接给出答案 xff0c 而是直接复制言论 赵4老师的语言虽然很 犀利 xff0c 但仔细想想 xff0c 有些还是有道理的 xff0c 至少帮助我从
  • *.map文件

    关于linux程序的map文件 xff0c 网络上资料很少 xff0c 大概看了下map文件 xff0c 虽然理解的不是很透彻 xff0c 但是还是对程序的编译 运行 内存分配有了一点新的认识 1 map文件是程序的全局符号 源文件和代码行