编译时、装入时、执行时是指计算机程序的三个阶段。

编译时是指将高级语言源代码转换为目标代码的过程(编译程序将用户源代码编译成目标模块,源地址编译成目标程序时,会形成逻辑地址),装入时是指将程序从外存调入内存并准备执行的过程,执行时是指程序在计算机上运行的过程。

绝对装入是指在编译时就确定程序在内存中的位置,程序装入内存时不需要进行地址重定位。这种方式的优点是装入速度快,但缺点是程序不能被装入到内存的任何位置。

可重定位装入是指在编译时不确定程序在内存中的位置,程序装入内存时需要进行地址重定位。这种方式的优点是程序可以被装入到内存的任何位置,但缺点是装入速度相对较慢。

动态运行时装入是指程序在运行时才被装入内存,并且地址重定位也是在运行时进行的。这种方式的优点是程序可以在运行时动态加载,节省内存空间,但缺点是装入速度相对较慢,且需要重定位寄存器的支持。

1、虚拟内存管理中,地址变换机构将虚拟地址变成实地址,形成物理地址的阶段是在编译时。

2、动态运行时的装入程序在把装入模块装入内存后,并不立即把装入模块中的逻辑地址转化为物理地址,而是把这种地址转换推迟到程序真正要执行时才进行。

3、装入时动态链接,将用户源程序编译后得到的一组目标模块,在装入内存时,采用边装入边链接的链接方式

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐