对于许多人来说,这可能听起来很愚蠢的问题,但我想对这个主题有清楚的了解。
例如:当我们在linux(ubuntu,x86)上构建C程序时,成功编译和链接过程后会生成a.out。 a.out 包含什么类型的地址?是虚拟地址吗?如果不是,那么虚拟地址将在哪一步(从构建程序到将其加载到内存中)发挥作用?
编译器生成地址。链接器生成地址。它们只是地址。
如果您在没有逻辑地址转换的系统上进行开发或运行,这些地址将被解释为物理地址。
如果您在使用逻辑地址转换的系统上进行开发或运行,这些地址将被解释为逻辑地址。
a.out 包含什么类型的地址?是虚拟地址吗?
它包含未指定类型的地址。
如果不是,那么虚拟地址将在哪一步(从构建程序到将其加载到内存中)发挥作用?
这完全取决于处理器如何解释这些地址。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)