地址绑定是将程序指令和数据与实际物理内存位置关联起来。操作系统中有多种类型的地址绑定。

地址绑定有 3 种类型:

  • 编译时地址绑定
  • 加载时地址绑定
  • 执行时间地址绑定

在此,我们对编译时间和执行时间地址绑定进行如下比较。

编译时地址绑定

如果编译器负责执行地址绑定,则称为编译时地址绑定。这种类型的地址绑定将在将程序加载到内存之前完成。编译器需要与操作系统内存管理器交互,才能执行编译时地址绑定。

执行时间或动态地址绑定

即使在将程序加载到内存后,地址绑定也会推迟。程序会不断更改内存中的位置,直到程序执行为止。这种地址绑定由处理器在程序执行时完成。

编译时地址绑定和执行时地址绑定的区别:

编译时地址绑定 执行时地址绑定
编译器负责编译时的地址绑定。 执行时地址绑定由处理器完成。
它生成逻辑地址(虚拟地址)。 它生成动态绝对地址。
编译时地址绑定在将程序加载到内存之前完成。 执行时地址绑定在程序执行时进行。
指令被转换为绝对地址。 它有助于执行。
代码在此编译。 CPU 从内存中执行指令。
使用逻辑地址。 使用动态绝对地址。
静态地址绑定。 动态地址绑定。
编译器与操作系统内存管理器交互执行。 由处理器在程序执行时完成。

编译时间与执行时间地址绑定的区别

本文由网友:郁含玉 投稿 欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:编译时间与执行时间地址绑定的区别
本文链接:https://www.vsdiffer.com/vs/compile-time-vs-execution-time-address-binding.html
免责声明:以上内容仅代表 网友:郁含玉 个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。