|
发表于 2010-2-20 14:59:53
|
显示全部楼层
Post by LittlesnowLinux;2070752
问题一:你理解错了.什么是硬地址?它所分配的地址只是虚拟地址.加载时,加载器会把物理地址和虚拟地址进行映射.栈是一块连续的内存空间,它的分配是由可执行文件的段来决定的.可执行文件可以参照一下PE或ELF文件格式.
问题二:liwangli的说法是对的.
第一个,加载器是不会做物理地址和虚拟地址转换的,那是内核内存管理单元做的事。
第二个,函数调用的过程是编译器决定的。你自己发明一个编译器就可以按照你自己的想法去制定上下文切换的规则。
形而上说,在自由软件文化里,惯例是用来打破的。 |
|