帮我理解下这段话(关于基址)
时间:2010-12-04
来源:互联网
连接器链接时把目标文件构建成pe格式文件,pe 格式中有代码段数据段的大小,偏移,以及载入内存后载入的位置,操作系统执行exe程序时解析pe格式,根据格式载入指定内存位置。所以最终还是由连接器决定,连接器链接程序时把段信息设置为默认值,当然所有段基址也自定义,比如ld就有脚本可以指定段的内存位置等等。
所以全局的变量和代码等都是固定位置的,像函数局部变量这些存储于堆栈,根据函数调用顺序的不同最终的地址也不同,还有动态分配的空间(new和malloc分配)和动态分配的资源,内存地址不一定每次都会相同。
这上面这段话的意思就是说link的时候已经确定内存地址了吗?
所以全局的变量和代码等都是固定位置的,像函数局部变量这些存储于堆栈,根据函数调用顺序的不同最终的地址也不同,还有动态分配的空间(new和malloc分配)和动态分配的资源,内存地址不一定每次都会相同。
这上面这段话的意思就是说link的时候已经确定内存地址了吗?
作者: yg23hxj 发布时间: 2010-12-04
啊啊啊啊啊啊啊
作者: x695664507 发布时间: 2010-12-04
多么难懂的一段话啊。。
就我学的16位汇编来说,应该是偏移地址已经确定了。段地址由系统加载时来确定,可以这么理解内存地址是确定了。。毕竟段地址也是一个数值而已嘛
32位汇编觉得有点晕。。还没学懂。不过应该是一个意思。据说win32汇编中,也是系统固定所有的段起始地址全为0
就我学的16位汇编来说,应该是偏移地址已经确定了。段地址由系统加载时来确定,可以这么理解内存地址是确定了。。毕竟段地址也是一个数值而已嘛
32位汇编觉得有点晕。。还没学懂。不过应该是一个意思。据说win32汇编中,也是系统固定所有的段起始地址全为0
作者: ldlihuanfa 发布时间: 2010-12-04
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28