【程序员的自由修养】疑问汇总

问题一:

【2.4 模块拼接 -- 静态链接】 一节最后一段中,讲到链接之后,变量var的地址确定下来为0x1000。为什么链接之后var的地址就确定了呢?

自问自答:  【1.5 内存不够怎么办】小节中讲到了虚拟内存,是因为可执行程序的虚拟内存都是从0到某个最大值,所以在链接的时候var的虚拟内存其实已经确定了。程序在运行过程中,var的虚拟内存是不会改变的,变更的只是物理内存。因此在链接的时候,只要把var的虚拟内存地址放到指令中即可。

 

 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页