浅谈地址,section,vstart
地址:地址只是数字,描述各种符号在源程序中的位置,它是源代码文件中各符号偏移文件开头的距离。由于指令和变量所占内存大小不同,故他们的偏移量参差不齐。由编译器给各符号编址,编译器给程序中各符号(变量名和函数名等)分配的地址,就是各符号相对于文件开头的偏移量。地址=上一个地址+上一个地址内容的长度。
section:编译器提供的关键字section只是为了让程序员在逻辑上将程序分为几个部分,因为他是伪指令,cpu与nasm不关心里面的内容。关键字section并没有对程序中的地址产生任何影响,即使在默认情况下,section中数据的地址依然是相对于整个程序的顺延,仅仅是在逻辑上供开发人员使用。
vstart:vstart是虚拟起始地址,让编译器将section中的数据的地址以vstart的值为起始,不再从整个程序开头算起,只有以程序开头以0开头的地址才算真是存在,在这个地址上才能访问相应的符号,不以程序开头算起的地址,必然在程序中是虚拟的。只是告诉编译器后面的数据(指令和变量)都以地址xxxxx开始编址,本身没改变数据本身在文件中的地址(相对于文件开头的偏移)。
浅谈地址,section,vstart的更多相关文章
- 浅谈Java线程安全
		浅谈Java线程安全 - - 2019-04-25 17:37:28 线程安全 Java中的线程安全 按照线程安全的安全程序由强至弱来排序,我们可以将Java语言中各种操作共享的数据分为以下五类 ... 
- 【ASP.NET MVC系列】浅谈ASP.NET  MVC  路由
		ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ... 
- 浅谈Unity的渲染优化(1): 性能分析和瓶颈判断(上篇)
		http://www.taidous.com/article-667-1.html 前言 首先,这个系列文章做个大致的介绍,题目"浅谈Unity",因为公司和国内大部分3D手游开发 ... 
- 浅谈 Fragment 生命周期
		版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ... 
- 浅谈WebService的版本兼容性设计
		在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ... 
- iOS开发之浅谈MVVM的架构设计与团队协作
		今天写这篇博客是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇博客的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦 ... 
- Linux特殊符号浅谈
		Linux特殊字符浅谈 我们经常跟键盘上面那些特殊符号比如(?.!.~...)打交道,其实在Linux有其独特的含义,大致可以分为三类:Linux特殊符号.通配符.正则表达式. Linux特殊符号又可 ... 
- 浅谈Hybrid技术的设计与实现第三弹——落地篇
		前言 接上文:(阅读本文前,建议阅读前两篇文章先) 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 根据之前的介绍,大家对前端与Native的交互应该有一些简单的认识了,很多 ... 
- 浅谈Hybrid技术的设计与实现第二弹
		前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术的设计与实现第三弹——落地篇 接上文:浅谈Hybrid技术的设计与实现(阅读本文前,建议阅读这个先) ... 
- 浅谈Hybrid技术的设计与实现
		前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术的设计与实现第三弹——落地篇 随着移动浪潮的兴起,各种APP层出不穷,极速的业务扩展提升了团队对开发 ... 
随机推荐
- 2022年windows的Visual Studio常用插件及使用手册
			前景提要 Viusual Studio 是一款很好用的C/C++集成开发工具,具有强大的扩展功能,好用的插件,但是,很多人都是只写了有什么插件,但是,没写怎么使用这种插件,使得使用的时候很是不方便,所 ... 
- 解决idea 控制台输出乱码问题:
			解决idea 控制台输出乱码问题[IntelliJ IDEA 2022.1.3 (Ultimate Edition)]: 将两个地方文件编码设置成GBK 参考文档:https://blog.c ... 
- FFmpeg开发笔记(二十四)Linux环境给FFmpeg集成AV1的编解码器
			AV1是一种新兴的免费视频编码标准,它由开放媒体联盟(Alliance for Open Media,简称AOM)于2018年制定,融合了Google VP10.Mozilla Daala以及Cis ... 
- 2024盘古石取证比赛(IPA+人工智能)
			前言 题目列表 IPA部分 1. 分析毛雪柳的手机检材,记账 APP 存储记账信息的数据库文件名称是: [ 答案格式:tmp.db ,区分大小写 ][ ★★★★☆ ] 通过icost软件可以定位rae ... 
- ubuntu18.04开机grub引导界面、登录界面美化
			1.引导界面美化 下载grub主题 https://www.gnome-look.org/browse/cat/109/order/latest/ https://www.pling.com/s/Gn ... 
- Java交换map的key和value值
			在Java中,我们都知道直接交换Map的key和value是不被允许的,因为Map的接口设计是基于key-value对的,其中key是唯一的,并且是不可变的(在HashMap等常见的实现中,虽然key ... 
- 音视频积累-Wakeups 解决
			一.现象 ReplayKit2运行过程中经常会被系统杀掉,在USB连接手机后可以导出crash log Date/Time: 2017-09-29 12:16:59.321071 +0800 OS V ... 
- pandas基础--基本功能
			pandas含有是数据分析工作变得更快更简单的高级数据结构和操作工具,是基于numpy构建的. 本章节的代码引入pandas约定为:import pandas as pd,另外import numpy ... 
- Ubuntu 上使能 SELinux
			首发公号:Rand_cs 此文档说明如何在 ubuntu 上启用 SELinux,测试环境为虚拟机,开始前一定一定一定先来个快照,不要问我为什么有三个一定. 卸载 apparmor(可选) ubunt ... 
- LeetCode 128. Longest Consecutive Sequence 最长连续序列 (C++/Java)
			题目: Given an unsorted array of integers, find the length of the longest consecutive elements sequenc ... 
