20.为什么会提示该内存不能为read或written?

运行某些程序的时候,有时会出现内存错误的提示,然后该程序就关闭。

“0x????????”指令引用的“0x????????”内存,该内存不能为“read”。

“0x????????”指令引用的“0x????????”内存,该内存不能为“written”。(0x后面内容有可能不一样。)

一般出现这种现象有两方面的原因,一是硬件,即内存方面有问题;二是软件。

一般来说,内存出现问题的可能性很大,主要有:内存条坏了、内存质量有问题;两个不同牌子、不同容量的内存混插,容易出现不兼容的情况;散热问题,特别是超频后。可以使用MemTest软件来检测内存,它可以彻底地检测出内存的稳定度。

假如是双内存条,而且是不同品牌的内存条混插,或者是买了二手内存条,出现以上问题时,你就要检查是不是内存出问题了或者内存条和其他硬件不兼容。

如果都没有,那就应该从软件方面排除故障了。

先简单说说原理:内存有个存放数据的地方叫缓冲区,当程序把数据放在缓冲区时,因为没有足够空间,就会发生溢出现象。举个例子,一个桶只能放一斤的水,当你放进两斤的水时,就会溢出来。而系统则是在屏幕上表现出来。这个问题,经常出现在Windows 2000/XP系统中,Windows 2000/XP对硬件的要求是很苛刻的,一旦遇到资源死锁、溢出或者类似Windows 98里的非法操作时,系统为保持稳定,就会出现上述情况。另外,也可能是硬件设备之间的兼容性不好造成的。