内存不能为Read怎么办?

一般来说,内存出现问题的可能性并不大,主要方面是:内存条坏了、内存质量有问题,还有就是2个不同牌子不同容量的内存混插,也比较容易出现不兼容的情况,同时还要注意散热问题,特别是超频后。

下面,我们就来看看产生错误的原因是什么。

1、一般来说,产生错误是由于程序访问了一个错误的地址,常见是0地址,在计算机操作系统中,该地址是不可访问的,一访问就会引发一个异常,然后产生错误,另外就是一个不可用读的内存地址,或者不存在的地址该种情况比较少见。

2、一般来说我们可以采用修复系统可以注册的DLL或者OCX(控件)来解决此类问题,少部分是由于软件兼容性问题。

3、注册DLL或者OCX可以采用一个批处理来实现。代码如下:

for %2 in (%windir%/system32/*.dll) do regsvr32 /s %2 & for %3 in (%windir%/system32*.ocx) do regsvr32 /s %3

简单解释一下。

for是批处理中一种比较高级的命令就是循环的意思。for in do用于遍历变量执行操作。

%2 属于变量名,在此处用于替换括号内的文件名。%windir%为系统环境变量。路径根据操作系统有所不同。在XP以上的系统就是Windows文件夹。 regsvr32命令是操作系统自带的注册命令,用于注册dll和ocx文件,加上参数s即可注册。 &为连接符,可以连接两个命令进行操作。系统注册完成后,一般可以修复大部分问题。

4、或者我们可以对程序进行兼容性设置。点击右键,选择属性,切换到兼容性选项卡,在兼容列表我们可以选择多个操作如Win95 ,Win2000等。系统会自动设置兼容层来替换某些API函数的访问。