地址绑定是将程序指令和数据与实际物理内存位置关联起来。操作系统中有多种类型的地址绑定。
地址绑定有 3 种类型:
- 编译时地址绑定
- 加载时地址绑定
- 执行时间地址绑定
在此,我们对编译时间和执行时间地址绑定进行如下比较。
编译时地址绑定
如果编译器负责执行地址绑定,则称为编译时地址绑定。这种类型的地址绑定将在将程序加载到内存之前完成。编译器需要与操作系统内存管理器交互,才能执行编译时地址绑定。
执行时间或动态地址绑定
即使在将程序加载到内存后,地址绑定也会推迟。程序会不断更改内存中的位置,直到程序执行为止。这种地址绑定由处理器在程序执行时完成。
编译时地址绑定和执行时地址绑定的区别:
编译时地址绑定 | 执行时地址绑定 |
---|---|
编译器负责编译时的地址绑定。 | 执行时地址绑定由处理器完成。 |
它生成逻辑地址(虚拟地址)。 | 它生成动态绝对地址。 |
编译时地址绑定在将程序加载到内存之前完成。 | 执行时地址绑定在程序执行时进行。 |
指令被转换为绝对地址。 | 它有助于执行。 |
代码在此编译。 | CPU 从内存中执行指令。 |
使用逻辑地址。 | 使用动态绝对地址。 |
静态地址绑定。 | 动态地址绑定。 |
编译器与操作系统内存管理器交互执行。 | 由处理器在程序执行时完成 | 。
编译时间与执行时间地址绑定的区别
本文由网友:郁含玉 投稿 欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:编译时间与执行时间地址绑定的区别
本文链接:https://www.vsdiffer.com/vs/compile-time-vs-execution-time-address-binding.html
免责声明:以上内容仅代表 网友:郁含玉 个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱:,我们核实并会尽快处理。