其中第二栏是模块的加载地址。kernel32 是第一个被加载的 32 位system dll,极端接近 3gb(地址 bff700000)。接下来是 user32,位于bff200000,并尽量和kernel32 接壤。也许你会以为这些地址是在加载的时候临场计算出来的,不,不是这样。微软有一个工具程序(win32 sdk 中的 rebase.exe),可以算出一个 dll 需要多少地址空间,然后算出最佳加载地址,使这些 system dlls 可以尽量紧密地连接在一起。当这些 system dlls 被编译联结之后(译注:当然不是被你),微软接着又修改dlls,使它们拥有由 rebase.exe 所计算出来的较佳加载地址。这使得所有 systems dlls 都能够以最快时间加载,windows 95 加载器不需要再对它们做「复位位(relocation)」的工作。