LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: 13025700481

迷糊的问题:堆栈

[复制链接]
发表于 2010-2-20 14:59:53 | 显示全部楼层
Post by LittlesnowLinux;2070752
问题一:你理解错了.什么是硬地址?它所分配的地址只是虚拟地址.加载时,加载器会把物理地址和虚拟地址进行映射.栈是一块连续的内存空间,它的分配是由可执行文件的段来决定的.可执行文件可以参照一下PE或ELF文件格式.
问题二:liwangli的说法是对的.

第一个,加载器是不会做物理地址和虚拟地址转换的,那是内核内存管理单元做的事。
第二个,函数调用的过程是编译器决定的。你自己发明一个编译器就可以按照你自己的想法去制定上下文切换的规则。
形而上说,在自由软件文化里,惯例是用来打破的。
回复 支持 反对

使用道具 举报

发表于 2010-3-9 21:39:08 | 显示全部楼层
其实,所有的问题你自己使用工具反汇编任意一个window程序,你就明白了,包括入栈顺序等等。还有一个概念是 虚拟空间,就算正在运行的程序在同一时刻,也不一定所有的部分都在内存中。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表