首页 > 其他分享 >浅谈地址,section,vstart

浅谈地址,section,vstart

时间:2022-12-22 23:45:10浏览次数:39  
标签:浅谈 section 程序 编译器 地址 开头 vstart

地址:地址只是数字,描述各种符号在源程序中的位置,它是源代码文件中各符号偏移文件开头的距离。由于指令和变量所占内存大小不同,故他们的偏移量参差不齐。由编译器给各符号编址,编译器给程序中各符号(变量名和函数名等)分配的地址,就是各符号相对于文件开头的偏移量。地址=上一个地址+上一个地址内容的长度。

section:编译器提供的关键字section只是为了让程序员在逻辑上将程序分为几个部分,因为他是伪指令,cpu与nasm不关心里面的内容。关键字section并没有对程序中的地址产生任何影响,即使在默认情况下,section中数据的地址依然是相对于整个程序的顺延,仅仅是在逻辑上供开发人员使用。

vstart:vstart是虚拟起始地址,让编译器将section中的数据的地址以vstart的值为起始,不再从整个程序开头算起,只有以程序开头以0开头的地址才算真是存在,在这个地址上才能访问相应的符号,不以程序开头算起的地址,必然在程序中是虚拟的。只是告诉编译器后面的数据(指令和变量)都以地址xxxxx开始编址,本身没改变数据本身在文件中的地址(相对于文件开头的偏移)。

标签:浅谈,section,程序,编译器,地址,开头,vstart
From: https://www.cnblogs.com/LCAB/p/16999811.html

相关文章

  • 浅谈商城项目
         很多同学会说,现在很多培训机构都在做电商这个项目,那我们做这个项目的意义又是什么呢?    1、作为学生而言,刚学完SSM框架,很多基础掌握不牢靠,因此针对初学者而言......
  • 反射和对象序列化浅谈
    反射c++本身是没有反射机制的。反射是什么?我认为是运行时对象信息库,反射就是在需要获取对象信息的时候使用,在做类型转换的时候使用,获取对象实例的时候使用...统一一下就是......
  • 浅谈Keil-MDK创建项目&编译过程---Code-data,RO-data,RW-data,ZI-data
    浅谈Keil-MDK创建项目&编译过程---Code-data,RO-data,RW-data,ZI-data​​一、编译过程​​​​二、MDK编译工具​​​​(1)创建一个新的工程​​​​(2)添加startup(启动文......
  • 浅谈测试环境治理在Devops中的应用
    文章目录​​浅谈测试环境治理在Devops中的应用​​​​测试环境治理​​​​基于物理机/VM的环境编排​​​​基于openstack/KVM的虚拟化编排​​​​基于docker的容器化编......
  • 浅谈入行Qt桌面端开发程序员-从毕业到上岗(1):当我们说到桌面端开发时,我们在谈论什么?
    谈谈我自己大家好,我是轩先生,是一个刚入行的Qt桌面端开发程序员。我的本科是双非一本的数学专业,22年毕业,只是部分课程与计算机之间有所交叉,其实在我毕业的时候并没有想过会......
  • K8s-发布方式浅谈
    K8s-发布方式浅谈蓝绿发布环境存在两个版本,蓝版本和绿版本同时存在,部署新版本然后进行测试,将流量切到新版本,最终实际运行的只有一个版本(蓝/绿)。好处是无需停机,并......
  • 前端布局之浅谈BFC
    大家好,我是CoderBin1.文档流在介绍BFC之前,需要先给大家介绍一下文档流。我们常说的文档流其实分为定位流、浮动流、普通流三种。2.绝对定位(Absolutepositioning)......
  • 痞子衡嵌入式:浅谈i.MXRT10xx系列MCU外接24MHz晶振的作用
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是i.MXRT10xx系列MCU外接24MHz晶振的作用。痞子衡之前写过一篇关于时钟引脚的文章​​《i.MXRT1xxx......
  • 一起来浅谈一下科技的产生吧!
       现阶段,手机、电脑、电视、空调、汽车等等,这些都是科学技术给人类带来的便利,科技在我们身边无处不在,无所不能,可以说我们的生活就离不开科技!   那我们现阶段的......
  • 【机器学习】李宏毅——浅谈机器学习原理+鱼与熊掌兼得的深度学习简述
    如何评判一个训练集的好坏如果我们希望得到一个训练集,并且用该训练集所训练出来的模型,在训练集上的误差和在整个数据空间上的误差相距较小,即写成如下表达式:\[L(h^{train}......