由于 dll 内部的地址都是基于基地址的,或者是相对于基地址的 RVA,所以这些所有需要重定位的地方都只需要加上一个固定的差值,速度会比一般的重定位快,称为重定基地址(Rebasing)

PE 重定位的信息都放在 .reloc

由于不是 PIC,所以占内存,空间换时间

如果程序装载顺序一样,也可以提前指定 dll 基地址加速装载速度

常用的系统 dll 就放在特定的区域保证一般不冲突,这样装载的时候就不需要重定位了