百科问答小站 logo
百科问答小站 font logo



程序在地址空间中的位置是何时,以及如何决定的? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

二进制入口是由编译器确定的,准确点说,是在链接的阶段确定的,这个值并不是一个特别固定的数值,只要不与操作系统的某些限制的区域有冲突,理论上说可以随便设置。

运行时,操作系统的加载器会根据可执行文件的入口参数把代码加载到指定位置并运行。

如果指定的位置已经被占用,操作系统有两种选择:1. 如果代码是可重定向的,根据重定向表把代码移动到另外一个位置上;2. 如果代码是不可重定向的,那么加载失败。

重定向是否允许,以及重定向表的设置,也是编译器控制的。




  

相关话题

  如何看待 19 岁少年想做出在目前 Intel 同等计算性能下降低 80% 功耗的全新电路系统芯片? 
  普通一本计算机专业在读,已开学两个月想回学校复读冲一下985现实吗? 
  如果能将意识数据化,您愿意放弃肉体吗?如果可以的话,算进化吗? 
  三级缓存装系统是什么体验? 
  如何看待比 iPad 还大的史上最大芯片问世? 功耗比电磁炉还高有什么用? 
  软件工程界有其它与『操作系统内核』与『浏览器引擎』齐名的高难度项目吗? 
  linux创建的硬链接为什么不占用磁盘空间? 
  为什么微软出的软件都那么巨大? 
  为什么很多计算机系的学生一点不会电脑的基本操作? 
  中国神威太湖之光位列HPC TOP500榜首,能说明中国计算机领先国际水平吗? 

前一个讨论
CS:IP寄存器多任务模式下是怎么设置的?
下一个讨论
CPU(为方便讨论,这里仅限32位X86指令)的各种构架,比如奔3,奔4,对纯加法运算速度有帮助吗?





© 2025-04-21 - tinynew.org. All Rights Reserved.
© 2025-04-21 - tinynew.org. 保留所有权利