在Windows操作系统上, 一般32位进程, 虚拟地址空间为4 GB, 而其中默认有2 GB属于kernel mode, 2 GB属于user mode. 而我们能用的, 其实就是user mode这2 GB.
对于一些需要使用2 GB或者高于2 GB(但不会超过4 GB)的程序来说, 有两种方法:
- 修改操作系统user mode的虚拟地址空间大小, 一般可以选取范围为2 GB ~ 3 GB, 但这个似乎是32位操作系统上的概念, 不知道64位上有没有.
- 微软的vc链接器, 有链接选项
/LARGEADDRESSAWARE, 从而当这个32位进程, 运行在64位Windows操作系统上时, 能够使用高达4 GB的user mode虚拟地址空间. 这个对内存使用比较多的32位进程来说, 相当友好.
现在操作系统一般也是64位的了, 所以第2中方法可能更加好一点
本文介绍了在Windows操作系统中32位进程如何突破2GB的用户模式虚拟地址空间限制,提供了两种方法:一是调整操作系统设置;二是利用微软VC链接器的/LARGEADDRESSAWARE选项,使32位进程在64位系统上可使用高达4GB的用户模式虚拟地址空间。
1万+

被折叠的 条评论
为什么被折叠?



