1. 使用 翻译程序 编译
  2. 链接,就是将不同部分的代码和数据收集和组合成为一个单一文件的过程。该阶段生成逻辑地址
  3. 装入。该阶段生成物理地址

链接方式

  1. 静态链接。在程序运行之前,先将各目标模块及它们所需的库函数链接成一个完整的装入模块,以后不再拆开
  2. 装入时动态链接。边装入边链接,便于修改和更新,便于实现对目标模块的共享
  3. 运行时动态链接。程序执行中需要某目标模块时,才对它进行链接。能够加快程序的装入过程,还可节省内存空间

装入方式

  1. 绝对装入。逻辑地址和实际内存地址完全相同
  2. 可重定位装入。逻辑地址从 0 开始,是相对地址,在装入时完成逻辑地址到物理地址的转换
  3. 动态运行时装入。装入内存后的地址仍为相对地址,在程序真正要运行时才进行地址转换。这种方式需要一个重定位寄存器的支持。动态运行时可以将程序分配到不连续的存储区程序运行前只需装入部分代码即可投入运行,然后根据需要动态申请分配内存便于程序段的共享