WINDOWS NT/XP/VISTA系统上,每个进程有自己的地址空间,即使是同一程序的不同的进程实例也是各有自己的地址空间。另外一种分法是地址空间分为用户态地址空间(默认是2G以下)和内核态地址空间(默认是2G以上),在用户态的代码是无法访问内核态的地址空间的。系统动态库(如USER32.DLL)需要时会映射或显式加载到进程的地址空间,此过程不是简单的将代码复制到内存,而是要做许多初始化工作(分节加载,重定位,加载关联动态库等),调用DllMain做模块的初始化工作等。自己加载USER32.DLL是很复杂的,是系统版本相关的,是没有多大意义的。