小编Joh*_*ohn的帖子

为什么虚拟内存地址在不同的进程中是相同的?

http://i.stack.imgur.com/RGMsz.png

我知道虚拟内存在Windows中分离2G(用于内核)/ 2G(用户).但为什么变量的地址不是连续堆栈?

喜欢0x22ff74,0x22ff78,0x22ff82,0x22ff86?这是否意味着Windows在用户进程中使用沙盒机制?

c c++ windows virtual-memory

4
推荐指数
1
解决办法
1910
查看次数

为什么在64位操作系统中,32位操作系统的4GB内存不等于2GB?

据我所知,"32位"等于2 ^ 32,这意味着我可以用32位操作系统定义4GB的内存.并且"64位"是2 ^ 64,允许15EB.因此,使用64位操作系统,我们可以在计算机中放入更多内存.

但是,我对另一点感到困惑.

我们可以在32位的情况下看到我们在系统中有(比方说)4GB的物理内存,我们将4GB除以32位整数的大小,我们可以存储一些整数(称为N)记忆.并且,在64位中,计算是4GB除以64位整数的大小,因此我们只能存储一半的整数.结果,对于64位,我们无法存储具有相同内存的整数.

这是否意味着微软通过在32位和64位版本的操作系统中将此内存显示为"4GB"来欺骗我们?

architecture computer-architecture computer-vision 32bit-64bit

-2
推荐指数
1
解决办法
861
查看次数