百燕之家 / 问答 / 详情

0x10004397指令引用的0x323336c69内存.该内存不能为read

2023-09-09 11:54:51
meira

最近挺多网友出现这样的问题,建议了解一下是如何产生内存不能读,以后碰到类似的才不会困惑。一般如果是玩游戏出现有可能该游戏软件冲突,建议卸载重新安装。

如果你是打开IE出现的有可能是ie应用程序访问内存出错或者某些文件丢失造成的

1 、右击桌面上“我的电脑”→属性→高级→错误报告→错误汇报→勾选“禁用错误汇报”→“但在发生严重错误时通知我”复选框→确定。这样处理对于一些小错误,Windows XP就不会弹出错误提示了。

2、如果不行彻底关闭错误报告服务。开始→运行中输入→services.msc→打开“服务”窗口→找到“Error Reporting Service”→打开“Error Reporting Service的属性”对话框→将“启动类型”改为“已禁用”→确定后重新启动系统。(此项目关闭的注册表方式:开始→运行→输入regedit→确定→找到HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionAeDebug]中的Auto=0改成Auto=1)

、重要提示:不要只看这个错误提示的指令代码,而是要看:出这个提示框的上面蓝色条状部分提示的是XXX.EXE那个位置是什么程序,就大体定位引起出错或者冲突的主要原因了,对症下药就能解决。简单有效的处理方法是看错误提示,哪一个软件引起的冲突就卸载那个软件,重新启动机器以后首先关闭杀毒软件,重新运行安装。

如果不能解决最好是卸载重新更新ie浏览器, 平时注意定期清理系统垃圾,ie缓存。

关于内存不能READ的解决方案

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

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

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

一般出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。

故障分析

硬件方面:

一般来说,内存出现问题的可能性并不大,主要方面是:内存条坏了、内存质量有问题,还有就是2个不同牌子不同容量的内存混插,也比较容易出现不兼容的情况,同时还要注意散热问题,特别是超频后。你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。

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

软件方面:

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

几个例子

例一:打开IE浏览器或者没过几分钟就会出现"0x70dcf39f"指令引用的"0x00000000"内存。该内存不能为“read”。要终止程序,请单击“确定”的信息框,单击“确定”后,又出现“发生内部错误,您正在使用的其中一个窗口即将关闭”的信息框,关闭该提示信息后,IE浏览器也被关闭。

解决方法:修复或升级IE浏览器,同时打上补丁。看过其中一个修复方法是,Win2000自升级,也就是Win2000升级到Win2000,其实这种方法也就是把系统还原到系统初始的状态下。比如你的IE升级到了6.0,自升级后,会被IE5.0代替/运用腾讯浏览器/

例二:在windows xp下双击光盘里面的“AutoRun.exe”文件,显示“0x77f745cc”指令引用的“0x00000078”内存。该内存不能为“written”,要终止程序,请单击“确定”,而在Windows 98里运行却正常。

解决方法:这可能是系统的兼容性问题,winXP的系统,右键“AutoRun.exe”文件,属性,兼容性,把“用兼容模式运行这个程序”项选择上,并选择“Windows 98/Me”。win2000如果打了SP的补丁后,只要开始,运行,输入:regsvr32 c:winntapppatchslayerui.dll。右键,属性,也会出现兼容性的选项。

例三:RealOne Gold关闭时出现错误,以前一直使用正常,最近却在每次关闭时出现“0xffffffff”指令引用的“0xffffffff”内存。该内存不能为“read” 的提示。

解决方法:当使用的输入法为微软拼音输入法2003,并且隐藏语言栏时(不隐藏时没问题)关闭RealOne就会出现这个问题,因此在关闭RealOne之前可以显示语言栏或者将任意其他输入法作为当前输入法来解决这个问题。

例四:我的豪杰超级解霸自从上网后就不能播放了,每次都提示“Ox060692f6”(每次变化)指令引用的“Oxff000011”内存不能为“read”,终止程序请按确定。

解决方法:试试重装豪杰超级解霸,如果重装后还会,到官方网站下载相应版本的补丁试试。还不行,只好换就用别的播放器试试了。

例五:双击一个游戏的快捷方式,“Ox77f5cdO”指令引用“Oxffffffff”内存,该内存不能为“read” ,并且提示Client.dat程序错误。

解决方法:重装显卡的最新驱动程序,然后下载并且安装DirectX9.0。

例六:一个朋友发信息过来,我的电脑便出现了错误信息:“0*772b548f”指令引用的“0*00303033”内存,该内存不能为“written”,然后QQ自动下线,而再打开QQ,发现了他发过来的十几条的信息。

解决方法:这是对方利用QQ的BUG,发送特殊的代码,做QQ出错,只要打上补丁或升级到最新版本,就没事了。

例七:我的笔记本电脑用的XP系统,有时关闭网页时会弹出tbrowser.exe遇到问题需要关闭,然后有弹出0x03e7c738指令引用的0x03e7c738内存,该内存不能为read,请问是怎么回事?

解决方法:先查杀一下病毒,另外如果你安装了浏览增强之类的软件,请卸掉。

例八:从桌面或开始菜单中打开任何一个程序, 出现错误提示:"0x........"指令引用的"0x00000000"内存,该内存不能为"read"。省略号代表可变值。而从运行中打开程序没问题。

解决方法:运行regedit进入注册表, 在HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellExecuteHooks下,应该只有一个正常的键值"{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 将其他的删除(默认键值当然不要删除)。

例九:我三个月前配了台机子。系统比较不稳定,三个月内已经重装过多次系统,四五天前刚装过系统,可是经常随机地出现Explorer-应用程序错误,“0x4a01259d“指令引用的“0x00000000"内存。该内存不能为“read"。要终止程序,请单击“确定“。要调试程序,请单击“取消”。如果点确定,windows桌面就不见了。这种问题在之前的系统也出现过,不知道是不是硬件的问题?

解决方法:内存的兼容性问题!遇到这类问题,用户可以自行打开机器把内存的位置调动一下,看问题是否可以解决,如果问题依旧,可与你的朋友调换内存使用。

通过上面的几个例子,可以看到,出现故障的原因有好多种,下面列出已经提到和有可能发生的原因,方便查阅。

问题产生原因原因--解决方法

内存条坏了--更换内存条

双内存不兼容--使用同品牌的内存或只用一条内存

内存质量问题--更换内存条

散热问题--加强机箱内部的散热

内存和主板没插好或和其它硬件不兼容等--重插内存或换个插糟

硬盘有问题--更换硬盘

驱动问题--重装驱动。如果是新系统,要先安装主板驱动

软件损坏--重装软件

软件有BUG--打补丁或用最新的版本。

软件和系统不兼容--给软件打上补丁或者试试系统的兼容模式

软件和软件之间有冲突--如果最近安装了什么新软件,卸载了试试

软件要使用到其它相关的软件有问题--重装相关软件。比如播放某一格式的文件时出错,可能是这个文件的解码器有问题

病毒问题--杀毒

杀毒软件与系统或软件冲突--由于杀毒软件是进入底层监控系统的,可能与一些软件冲突,卸载了试试

系统本身有问题--有时候操作系统本身也会有BUG,要注意安装官方发行的升级程序,像SP的补丁,最好要打上。如果还不行重装系统或更换其它版本的系统了。

===============================================

Windows系统出现内存错误

使用Windows操作系统的人有时会遇到这样的错误信息:“0X????????指令引用的0x00000000内存,该内存不能written”,然后应用程序被关闭。如果去请教一些“高手”,得到的回答往往是“Windows就是这样不稳定”之类的义愤和不屑。其实,这个错误并不一定是Windows不稳定造成的。本文就来简单分析这种错误的常见原因。

一、应用程序没有检查内存分配失败

程序需要一块内存用以保存数据时,就需要调用操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”,内存地址也就是编程中的“指针”。

内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的指针,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。

若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用指针,继续在之后的运行中使用这块内存。真正的0地址内存区保存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即死机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的“写内存”错误,并指出被引用的内存地址为“0x00000000”。

内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中“安装”的病毒程序),更改了大量的系统参数和系统文件之后。

余辉

这个情况很普遍 微软IE8 最近发布的补丁稳定性极差 安了就会出现你这种情况 唯一解决办法卸掉IE8

如果不是IE的问题 请直接看最后俩条解决方案或者下载windows更新 如果想了解一下 那就从头看吧

该内存不能read 或written数值 叙述

0 0x0000 作业完成。

1 0x0001 不正确的函数。

2 0x0002 系统找不到指定的档案。

3 0x0003 系统找不到指定的路径。

4 0x0004 系统无法开启档案。

5 0x0005 拒绝存取。

6 0x0006 无效的代码。

7 0x0007 储存体控制区块已毁。

8 0x0008 储存体空间不足,无法处理这个指令。

9 0x0009 储存体控制区块位址无效。

10 0x000a 环境不正确。

11 0x000b 尝试载入一个格式错误的程式。

12 0x000c 存取码错误。

13 0x000d 资料错误。

14 0x000e 储存体空间不够,无法完成这项作业。

15 0x000f 系统找不到指定的磁碟机。

16 0x0010 无法移除目录。

17 0x0011 系统无法将档案移到 其他的磁碟机。

18 0x0012 没有任何档案。

19 0x0013 储存媒体为防写状态。

20 0x0014 系统找不到指定的装置。

21 0x0015 装置尚未就绪。

22 0x0016 装置无法识别指令。

23 0x0017 资料错误 (cyclic redundancy check)

24 0x0018 程式发出一个长 度错误的指令。

25 0x0019 磁碟机在磁碟找不到 持定的磁区或磁轨。

26 0x001a 指定的磁碟或磁片无法存取。

27 0x001b 磁碟机找不到要求的磁区。

28 0x001c 印表机没有纸。

29 0x001d 系统无法将资料写入指定的磁碟机。

30 0x001e 系统无法读取指定的装置。

31 0x001f 连接到系统的某个装置没有作用。

32 0x0020 the process cannot access the file because it is being used by another process.

33 0x0021 档案的一部份被锁定, 现在无法存取。

34 0x0022 磁碟机的磁片不正确。 请将 %2 (volume serial number: %3) 插入磁碟机 %1。

36 0x0024 开启的分享档案数量太多。

38 0x0026 到达档案结尾。

39 0x0027 磁碟已满。

50 0x0032 不支援这种网路要求。

51 0x0033 远端电脑无法使用。

52 0x0034 网路名称重复。

53 0x0035 网路路径找不到。

54 0x0036 网路忙碌中。

55 0x0037 the specified network resource or device is no longer available.

56 0x0038 the network bios command limit has been reached.

57 0x0039 网路配接卡发生问题。

58 0x003a 指定的伺服器无法执行要求的作业。

59 0x003b 网路发生意外错误。

60 0x003c 远端配接卡不相容。

61 0x003d 印表机伫列已满。

62 0x003e 伺服器的空间无法储存等候列印的档案。

63 0x003f 等候列印的档案已经删除。

64 0x0040 指定的网路名称无法使用。

65 0x0041 拒绝存取网路。

66 0x0042 网路资源类型错误。

67 0x0043 网路名称找不到。

68 0x0044 超过区域电脑网路配接卡的名称限制。

69 0x0045 超过网路 bios 作业阶段的限制。

70 0x0046 远端伺服器已经暂停或者正在起始中。

71 0x0047 由于连线数目已达上限,此时无法再连线到这台远端电脑。

72 0x0048 指定的印表机或磁碟装置已经暂停作用。

80 0x0050 档案已经存在。

82 0x0052 无法建立目录或档案。

83 0x0053 int 24 失败

84 0x0054 处理这项要求的储存体无法使用。

85 0x0055 近端装置名称已经在使用中。

86 0x0056 指定的网路密码错误。

87 0x0057 参数错误。

88 0x0058 网路发生资料写入错误。

89 0x0059 此时系统无法执行其他行程。

100 0x0064 无法建立其他的系统 semaphore。

101 0x0065 属于其他行程专用的 semaphore 。

102 0x0066 semaphore 已经设定,而且无法关闭。

103 0x0067 无法指定 semaphore 。

104 0x0068 在岔断时间无法要求专用的 semaphore 。

105 0x0069 此 semaphore 先前的拥有权已经结束。

106 0x006a 请将磁片插入 %1。

107 0x006b 因为代用的磁片尚未插入,所以程式已经停止。

108 0x006c 磁碟正在使用中或被锁定。

109 0x006d pipe 已经中止。

110 0x006e 系统无法开启指定的 装置或档案。

111 0x006f 档名太长。

112 0x0070 磁碟空间不足。

113 0x0071 没有可用的内部档案识别字。

114 0x0072 目标内部档案识别字不正确。

117 0x0075 由应用程式所执行的 ioctl 呼叫 不正确。

118 0x0076 写入验证参数值不正确。

119 0x0077 系统不支援所要求的指令。

120 0x0078 此项功能仅在 win32 模式有效。

121 0x0079 semaphore 超过逾时期间。

122 0x007a 传到系统呼叫的资料区域 太小。

123 0x007b 档名、目录名称或储存体标签语法错误。

124 0x007c 系统呼叫层次不正确。

125 0x007d 磁碟没有设定标签。

126 0x007e 找不到指定的模组。

127 0x007f 找不到指定的程序。

128 0x0080 没有子行程可供等待。

129 0x0081 %1 这个应用程式无法在 win32 模式下执行。

130 0x0082 attempt to use a file handle to an open disk partition for an

operation other than raw disk i/o.

131 0x0083 尝试将档案指标移至档案开头之前。

132 0x0084 无法在指定的装置或档案,设定档案指标。

133 0x0085 join 或 subst 指令 无法用于 内含事先结合过的磁碟机。

134 0x0086 尝试在已经结合的磁碟机,使用 join 或 subst 指令。

135 0x0087 尝试在已经替换的磁碟机,使 用 join 或 subst 指令。

136 0x0088 系统尝试删除 未连结过的磁碟机的连结关系。

137 0x0089 系统尝试删除 未替换过的磁碟机的替换关系。

138 0x008a 系统尝试将磁碟机结合到已经结合过之磁碟机的目录。

139 0x008b 系统尝试将磁碟机替换成已经替换过之磁碟机的目录。

140 0x008c 系统尝试将磁碟机替换成已经替换过之磁碟机的目录。

141 0x008d 系统尝试将磁碟机 subst 成已结合的磁碟机 目录。

142 0x008e 系统此刻无法执行 join 或 subst。

143 0x008f 系统无法将磁碟机结合或替换同一磁碟机下目录。

144 0x0090 这个目录不是根目录的子目录。

145 0x0091 目录仍有资料。

146 0x0092 指定的路径已经被替换过。

147 0x0093 资源不足,无法处理这项 指令。

148 0x0094 指定的路径这时候无法使用。

149 0x0095 尝试要结合或替换的磁碟机目录,是已经替换过的的目标。

150 0x0096 config.sys 档未指定系统追踪资讯,或是追踪功能被取消。

151 0x0097 指定的 semaphore事件 dosmuxsemwait 数目不正确。

152 0x0098 dosmuxsemwait 没有执行;设定太多的 semaphore。

153 0x0099 dosmuxsemwait 清单不正确。

154 0x009a 您所输入的储存媒体标 元长度限制。

155 0x009b 无法建立其他的执行绪。

156 0x009c 接收行程拒绝接受信号。

157 0x009d 区段已经被舍弃,无法被锁定。

158 0x009e 区段已经解除锁定。

159 0x009f 执行绪识别码的位址不正确。

160 0x00a0 传到 dosexecpgm 的引数字串不正确。

161 0x00a1 指定的路径不正确。

162 0x00a2 信号等候处理。

164 0x00a4 系统无法建立执行绪。

167 0x00a7 无法锁定档案的部份范围。

170 0x00aa 所要求的资源正在使用中。

173 0x00ad 取消范围的锁定要求不明显。

174 0x00ae 档案系统不支援自动变更锁定类型。

180 0x00b4 系统发现不正确的区段号码。

182 0x00b6 作业系统无法执行 %1。

183 0x00b7 档案已存在,无法建立同一档案。

186 0x00ba 传送的旗号错误。

187 0x00bb 指定的系统旗号找不到。

188 0x00bc 作业系统无法执行 %1。

189 0x00bd 作业系统无法执行 %1。

190 0x00be 作业系统无法执行 %1。

191 0x00bf 无法在 win32 模式下执行 %1。

192 0x00c0 作业系统无法执行 %1。

193 0x00c1 %1 不是正确的 win32 应用程式。

194 0x00c2 作业系统无法执行 %1。

195 0x00c3 作业系统无法执行 %1。

196 0x00c4 作业系统无法执行 这个应用程式。

197 0x00c5 作业系统目前无法执行 这个应用程式。

198 0x00c6 作业系统无法执行 %1。

199 0x00c7 作业系统无法执行 这个应用程式。

200 0x00c8 程式码的区段不可以大于或等于 64kb。

201 0x00c9 作业系统无法执行 %1。

202 0x00ca 作业系统无法执行 %1。

203 0x00cb 系统找不到输入的环境选项。

205 0x00cd 在指令子目录下,没有任何行程有信号副处理程式。

206 0x00ce 档案名称或副档名太长。

207 0x00cf ring 2 堆叠使用中。

使用Windows操作系统的人有时会遇到这样的错误信息:“0X????????指令引用的 0x00000000内存,该内存不能written”,然后应用程序被关闭。如果去请教一些“高手”,得到的回答往往是“Windows就是这样不稳定”之类的义愤和不屑。其实,这个错误并不一定是Windows不稳定造成的。本文就来简单分析这种错误的常见原因。

内存不能为read的问题是一个非常复杂的问题,造成的原因是多方面的,有硬件的原因,也有软件的原因,一时半会儿很难搞的清楚。就是对那些整天玩电脑的老手来说也是一个非常辣手的问题。就我个人的理解,大多与使用非原版的系统而产生的不稳定性有关,轻易很难修复。所以我一般的主张是,只要不是频繁出现,可以不必管它,点一下“确定”或者“取消”就可以了。如果真有兴趣想研究一下的话,你可以试着从一下方面寻找原因:

1. 内存条坏了或与主板不兼容 更换内存条

2. 双内存不兼容 使用同品牌的内存或只要一条内存

3. 内存质量问题 更换内存条

4. 散热问题 加强机箱内部的散热

5. 内存和主板没插好或其他硬件不兼容 重插内存或换个插槽

6. 硬盘有问题 更换硬盘

7. 驱动问题 重装驱动,如果是新系统,应先安装主板驱动

8. 软件损坏 重装软件

9. 软件有BUG 打补丁或更新到最新版本

10 软件和系统不兼容 给软件打上补丁或是试试系统的兼容模式

11 软件和软件之间有冲突 如果最近安装了什么新软件,卸载了试试

12 软件要使用其他相关的软件有问题 重装相关软件,比如播放某一格式的文件时出错,可能是这个文件的解码器有问题

13 病毒问题 杀毒

14 杀毒软件与系统或软件相冲突 由于杀毒软件是进入底层监控系统的,可能与一些软件相冲突,卸载试试

15 系统本身有问题 有时候操作系统本身也会有BUG,要注意安装官方发行的更新程序,象SP的补丁,最好打上

——最后我再强调一下,不是所有的电脑问题我们普通人都能搞得清摸得透的,以上的方法即使都已试过,谁也不能保证一定能够解决你的问题,因为电脑的问题的确很复杂,“不能为read”这仅仅是一个症状,单凭这一个小小的症状是很难一下子找到问题所在的。我们都希望当说明了问题之后能够马上得到满意的回答,有时候是不可能的,必须慢慢的摸索才能知道问题所在。如果想省心的话,也许只有最后这两点建议最有用:一是不管它(反正也没有大碍),二是重装一个稳定的系统。说到系统,这也是我要说的重点,实际上我们的电脑之所以出现“内存不能为read的问题”,大多都与安装了Ghost系统有关,“内存不能为read”现象可以说是Ghost系统的一个不可修复的通病。所以我建议你用原版系统盘重装系统。关于什么是Ghost系统,我在这里也解释一下(好多现在正在使用Ghost系统的人都不知道自己的系统是Ghost系统),所谓Ghost系统,就是指像那些番茄花园、电脑公司版、雨林木风、萝卜家园等改版本的XP系统,即非原版的系统。你可以通过点“我的电脑”右键-属性来查看你的系统属性。

下面有两种处理方法可以试试:【如果不行只有恢复或重装系统了】

(1)试用命令排除

开始-运行- 输入cmd-- 回车,在命令提示符下输入下面命令

for %1 in (%windir%system32*.dll) do regsvr32.exe /s %1

怕输入错误,可以复制这条指令,然后在命令提示符后击鼠标右键,打“粘贴”,回车,耐心等待,直到屏幕滚动停止为止。

(2)运行regedit进入注册表, 在HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellExecuteHooks 下,应该只有一个正常的键值{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 将其他的删除。

还要旺仔

这个问题的出现比较普遍,主要有几个方面:

▉如果使用盗版系统,有可能会出现这样的问题,建议:使用正版。

★★★★☆如果对电脑没有影响或偶尔出现不用管它,重启电脑会自动消失。

【1】病毒引起的,对电脑全盘杀毒。【升级病毒库,下载最新的专杀工具】

【2】硬件上的原因,主要是内存条不兼容引起的,必要时更换内存。

【3】系统或其它软件引起的。【GHOST版本的系统容易出现这种问题】

【4】打开或关闭IE、QQ、游戏、播放器等出现该内存不能为read或written,首先想到可能就是这款软件的问题,(一般来解决办法就是卸载重新安装、升级或更换其它版本,不行只有卸载该软件,问题才能解决)。

(1)系统本身有问题,及时安装官方发行的补丁,必要时重装系统。

(2)某个软件出现的问题,这里主要是看看开机时运行的软件,(用360等检查开机运行的软件,把不必要运行的软件都去掉),软件冲突,卸载有问题的软件。

★★★☆☆如果上面检查都没问题,下面有两种处理方法可以试试:【如果不行只有恢复或重装系统了】

◆试用命令排除

开始-运行- 输入cmd-- 回车,在命令提示符下输入下面命令

for %1 in (%windir%system32*.dll) do regsvr32.exe /s %1回车。

完成后,在输入下面的

for %i in (%windir%system32*.ocx) do regsvr32.exe /s %i 回车。

如果怕输入错误,可以复制这两条指令,然后在命令提示符后击鼠标右键,打“粘贴”,回车,耐心等待,直到屏幕滚动停止为止。【重启电脑】

◆◆运行regedit进入注册表, 在HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellExecuteHooks 下,应该只有一个正常的键值{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 将其他的删除。【如果还有一个(默认)不用管它,一般它为空。】

王木生

软件故障!!!!

0x10004397表示指令的内存地址,该地址是16进制地址编码,可以判断你装的是32位操作系统,而且是外部指令读取错误。怀疑中了木马,建议利用360安全卫士杀木马,并清理恶意插件,再整理启动项状态,把陌生的全删了,瞧瞧行不行?如果不行,还可以通过360的修复浏览器瞧瞧。

如果还不行,还不如重装个系统来得安逸。

内存地址号是什么

内存地址是一种用于软件及硬件等不同层级中的数据概念,用来访问电脑主存中的数据。内存地址有许多类型。换句话说,一个电脑,甚至在一个程序内,可能即存在数个不同的内存“定址空间”。电脑的内存(尤其是指主存)是由许多“内存地址”所组成的,每个内存地址都有一个“物理地址”,能供CPU(或其他设备)访问。一般,只有如BIOS、操作系统及部分特定之公用软件(如内存测试软件)等系统软件。能使用机器码的运算对象或寄存器对物理地址定址,指示CPU要求内存控制器之类的硬件设备,使用内存总线或系统总线,亦或分别之控制总线、地址总线及数据总线,运行该程序之命令。内存控制器的总线是由数条并行的线路所组成的,每条线路表示一个比特。总线的宽度因此依电脑不同,决定了可定址之存储单位数量,以及每一单位内的比特数量。计算机程序使用内存地址来运行机器码、存储及截取数据。大多数的应用程序无法得知实际的物理地址,而是使用电脑的内存管理单元及操作系统的内存映射,为“逻辑地址”或虚拟地址定址。
2023-09-09 07:37:081

C语言中什么叫内存地址?

C语言红当你输入比如inta=10;intb=20;当输入scanf接受时以近给变量开辟了空间内存地址一般为16位0-F表示
2023-09-09 07:37:242

内存地址范围是怎么计算的?

地址码长度为二进制24位时,其寻址范围是16MB。具体过程如下:2的10次方是1024b,也就是1KB,16M=16*1024*1024,也就是2的24次方,所以24位时就是16MB。当地址码长度为二进制24位的时候,就意味着地址总线可以有2^24种状态,这也意味着存储器的寻址范围是2^24个单元。扩展资料通常人们认为,内存容量越大,处理数据的能力也就越强,但内存容量不可能无限的大,它要受到系统结构、硬件设计、制造成本等多方面因素的制约,一个最直接的因素取决于系统的地址总线的地址寄存器的宽度(位数)。计算机的寻找范围由总线宽度(处理器的地址总线的位数)决定的,也可以理解为cpu寄存器位数,这二者一般是匹配的。
2023-09-09 07:37:301

内存地址是什么

内存地址系统 ram 中的特定位置,通常以十六进制的数字表示。在8086的实模式下,把某一段寄存器左移4位,然后与地址ADDR相加后被直接送到内存总线上,这个相加后的地址就是内存单元的物理地址,而程序中的这个地址就叫逻辑地址(或叫虚地址)。在80386的保护模式下,这个逻辑地址不是被直接送到内存总线,而是被送到内存管理单元(MMU)。MMU由一个或一组芯片组成,其功能是把逻辑地址映射为物理地址,即进行地址转换。当使用80386时,我们必须区分以下三种不同的地址:逻辑地址:机器语言指令仍用这种地址指定一个操作数的地址或一条指令的地址。这种寻址方式在Intel的分段结构中表现得尤为具体,它使得MS-DOS或Windows程序员把程序分为若干段。每个逻辑地址都由一个段和偏移量组成。线性地址:线性地址是一个32位的无符号整数,可以表达高达232(4GB)的地址。通常用16进制表示线性地址,其取值范围为0x00000000~0xffffffff。物理地址: 也就是内存单元的实际地址,用于芯片级内存单元寻址。物理地址也由32位无符号整数表示。MMU是一种硬件电路,它包含两个部件,一个是分段部件,一个是分页部件,在本书中,我们把它们分别叫做分段机制和分页机制,以利于从逻辑的角度来理解硬件的实现机制。分段机制把一个逻辑地址转换为线性地址;接着,分页机制把一个线性地址转换为物理地址。
2023-09-09 07:37:475

计算机中内存地址为什么要分高低八位?

高八位和低八位:内存里,一个单元是一个字节,也就是8位。如果是16位的指令,就是同时操作连续的2个内存地址,将这连续的2个内存地址当成一个单位,所以就有高8位和低8位之分。由于计算机仅识别二进制描述的数字,所以对一个内存地址,也就是8位二进制,如:0000 0001,0000就是高四位,0001就是低四位。当然2个内存地址,就是16位二进制,也就是:0000 0001 0000 0002。0000 0001 就是高八位,0000 0002就是低八位。每个八位中又分成高低四位。如:1010 0001 1111 0101,换算成16进制就是:1010–10(10进制)—A(16进制),0001–1(10进制)—1(16进制)所以他的高八位就是A1,同样它的低八位就是F5。扩展资料:如何在C语言中的ascII码表里查找高四位、低四位:ascii码在C语言中用char型存储,一个char占一个字节,即8位。当写成二进制表达形式时,就是8个0或者1的数字,这8个数字中,左边四个称为高四位,右边四个称为低四位。所以在查ascii码表时,需要:1、把要查的值,转成二进制值;2、得到高四位值,及低四位值;3、根据高四位值查表,找到所在列;4、根据低四位值查表,找到所在行;5、所在行列的交叉格,就是要查找的字符。
2023-09-09 07:38:031

计算机内存地址为什么要用16进制数来表示

在计算机内部,二进制数据转换为 十六进制数据最直接、最快捷,占用存储空间最小。
2023-09-09 07:38:174

计算机内存单元的地址一般是多少位???

由操作系统决定的
2023-09-09 07:38:345

内存地址(代码)是什么?

内存地址是一个专业计算机术语;通俗地讲就是指内存条中,每一组数值(8位/16位等)的存放位置;打个比方说,就像你把几本书放在书架上,A放在第一排第二格内存地址就是0102;B放在第五排第三格内存地址就是0503。。。。
2023-09-09 07:38:521

怎么理解 【内存单元】和【内存地址】

内存单元是计算机存储数据的最小单位,以字节计数计算机在使用存储器时,要给这些存储器进行编号,这个编号就是地址地址最小的就是字节地址但有时数据不是以字节形式进行读写的,比如int型就是连续的4个字节组成,计算机就使用地址附加说明的方式来访问数据,一次读写就是4个字节这些地址连续编号,就形成一整片地址区,地址顺序增大,最小单位是字节,这个连续编号就是所谓线性地址。内存地址就是内存单元的编号,方便访问读写用的。
2023-09-09 07:39:011

32位计算机内存地址编码范围

0*的意思是0x,是16进制数表示的前缀,意思是这个数是个16进制数(不然就不会出现F在数字中了对不对亲您说对吧?)
2023-09-09 07:39:112

内存地址的地址区分

当使用80386时,我们必须区分以下三种不同的地址:逻辑地址:机器语言指令仍用这种地址指定一个操作数的地址或一条指令的地址。这种寻址方式在Intel的分段结构中表现得尤为具体,它使得MS-DOS或Windows程序员把程序分为若干段。每个逻辑地址都由一个段和偏移量组成。线性地址:线性地址是一个32位的无符号整数,可以表达高达2^32(4GB)的地址。通常用16进制表示线性地址,其取值范围为0x00000000~0xffffffff。物理地址:也就是内存单元的实际地址,用于芯片级内存单元寻址。物理地址也由32位无符号整数表示。
2023-09-09 07:39:311

内存中的存储单元的地址结构是几维

内存中的存储单元的地址结构是16位。大部分16位和32位的CPU不允许将字或者长字存储到内存中的任意地址。比如Motorola68000不允许将16位的字存储到奇数地址中,将一个16位的字写到奇数地址将引发异常。每一个单元的地址称为字节地址,任何相邻两个单元组成一个字地址,按编址原则约定用其中一个较小的地址来表示字地址。一个字由两个字节组成,则低字节对应低地址,高字节对应高地址。相关应用:在计算机中,由控制器解释,运算器执行的指令集是一个精心定义的数目十分有限的简单指令集合。一般可以分为四类:1)、数据移动 (如:将一个数值从存储单元A拷贝到存储单元B)。2)、数逻运算(如:计算存储单元A与存储单元B之和,结果返回存储单元C)。3)、 条件验证(如:如果存储单元A内数值为100,则下一条指令地址为存储单元F)。4)、指令序列改易(如:下一条指令地址为存储单元F)。
2023-09-09 07:39:461

内存地址怎么表示的?

内存地址在计算机中是用二进制表示的,但是在我们平时的教学、学习、研究中,因为用二进制表示太过繁琐,所以我们取地址的4个一组表示成十六进制,这就是楼主看到的内存地址在书本上没用二进制表示的原因。最后强调一下,内存地址在计算机中的的确确是用二进制表示的。
2023-09-09 07:40:071

请问内存地址的编号是怎么进行的?

内存地址有两部分组成,段地址加偏移量的方式。采用16金进制,用0到9 以及ABCDEF。表示。第一个地址往往是:0000:0000,最后一个地址,由于段地址是可变化的,偏移量也是可变化。没固定数字,但是也遵循以上原则。
2023-09-09 07:40:191

请教一个问题,如何获得一个变量的内存地址

1、获得函数的地址函数名实际上就是指针,所以可以通过强制类型转换来获取函数的地址。int i = 0;i = (int)main;printf(“%d ”,i);这样我们就获取了main函数的地址了,其他的自定义的函数也是同样的道理啊。2、获取变量地址int variab = 0;int addrvar = 0;addrvar = (int)&variab;在变量addrvar中保存了变量variab的地址。3、获得数组的地址数组本身就是指针,它本身就是内存地址,和获得函数地址的方法一样啊。比如int array[10];int addrarr;addrarr = (int)array;
2023-09-09 07:40:281

内存的开始地址和结束地址是?

起始地址是0x00000000--0x08000000(128M内存)0x00000000--0x10000000(256M)--0x20000000(512M--0x40000000(1G)
2023-09-09 07:40:361

C语言,地址量与内存地址的区别

两者含义是一致的。比如int a=10;int *p;p=&a;则p指向的内存地址就是a所在位置
2023-09-09 07:40:441

内存的地址 和大小的问题 很简单

我也写写我的理解。内存空间大小(容量大小)的单位可以是“字节(Byte,B)”或者“字”。其中一个字的字长(大小)又可以用“字节”做单位。数据以称为“字”的位组的形式在内存中传入和传出(书本原话)。例子:字可以是8位(bit, b),16位,32位,64位,字长分别为1字节(Byte,B)、2字节、4字节、8字节,注:1B=8b。每个字有一个唯一的地址,所有地址构成一个地址空间,地址空间的大小就是地址的总数(即字的总数)。所以,内存空间大小(B)=地址空间大小(字)x字长(B/字),括号内是单位。一般说内存空间是多少多少KB、MB、GB,说的是以字节(B)为单位,可以说是从“数据容量”层面去表达内存空间的大小;如果以“字”为单位,可以说是从“能容纳多少个地址”的层面去表达内存空间的大小。因此,问题所说为什么要用“65KB(应该大写,内存大小常用B做单位,1K=2^10≈10^3),字长为1字节”表示就很好理解了,“65KB”就是内容的大小,是从“数据容量”层面表达的。字长为1字节说明内存中数据传入和传出的大小为1字节(1B/字)。而地址空间的大小=65KB/(1B/字)=65K(字)=(2^6+1)*2^10(字)=66560(字),即66560个地址。如果内存大小是64KB,地址空间大小就是65536个地址,范围从0开始,就是0~65535。我估计应该是64KB,被写错成65KB了吧。。
2023-09-09 07:40:554

内存寻址方式具体是指什么?

一、隐含寻址   在指令中不明显的给出而是隐含着操作数的地址。例如,单地址的指令格式,没有在地址字段中指明第二操作数地址,而是规定累加寄存器AC作为第二操作数地址,AC对单地址指令格式来说是隐含地址。二、立即寻址  指令的地址字段指出的不是操作数的地址,而是操作数本身。这种方式的特点是指令执行时间很短,不需要访问内存取数。   例如:单地址的移位指令格式为   OP(移位)  F  D这里D不是地址,而是一个操作数。F为标志位,当F=1,操作数进行右移;当F=0时,操作数进行左移。三、直接寻址  直接寻址特点是:在指令格式的地址字段中直接指出操作数在内存的地址D。点击演示  采用直接寻址方式时,指令字中的形式地址D就是操作数的有效地址E,既E=D。因此通常把形式地址。 点击演示D又称为直接地址。此时,由寻址模式给予指示。 如果用S表示操作数,那么直接寻址的逻辑表达式为 S=(E)=(D)四、间接寻址  间接寻址的情况下,指令地址字段中的形式地址D不是操作数的真正地址,而是操作数地址的指示器,D单元的内容才是操作数的有效地址。  如果把直接寻址和间接寻址结合起来,指令有如下形式: 操作码  I  D  寻址特征位I=0,表示直接寻址,这时有效地址E=D;I=1,表示间接寻址,这时有效地址E=(D)。  间接寻址方式是早期计算机中经常采用的方式,但由于两次访存,影响指令执行速度,现在已不大使用。五、寄存器寻址方式和寄存器间接寻址方式  当操作数不放在内存中,而是放在CPU的通用寄存器中时,可采用寄存器寻址方式。此时指令中给出的操作数地址不是内存的地址单元号,而是通用寄存器的编号。   寄存器间接寻址方式与寄存器寻址方式的区别在于:指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数在内存中。六、相对寻址方式  相对寻址是把程序计数器PC的内容加上指令格式中的形式地址D而形成操作数的有效地址。程序计数器的内容就是当前指令的地址。“相对”寻址,就是相对于当前的指令地址而言。 点击演示  采用相对寻址方式的好处是程序员无须用指令的绝对地址编程,所编程序可以放在内存任何地方。  此时形式地址D通常称为偏移量,其值可正可负,相对于当前指令地址进行浮动。七、基址寻址方式基址寻址方式是将CPU中基址寄存器的内容加上指令格式中的形式地址而形成操作数的有效地址。点击演示它的优点是可以扩大寻址能力。同形式地址相比,基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址。八、变址寻址方式  变址寻址方式与基址寻址方式计算有效地址的方法很相似,它把CPU中某个变址寄存器的内容与偏移量D相加来形成操作数有效地址。 但使用变址寻址方式的目的不在于扩大寻址空间,而在于实现程序块的规律性变化。九、块寻址方式  块寻址方式经常用在输入输出指令中,以实现外存储器或外围设备同内存之间的数据块传送。块寻址方式在内存中还可用于数据块搬家。 块寻址时,通常在指令中指出数据块的起始地址(首地址)和数据块的长度(字数或字节数)。  如果数据块是变长的,可用三种方法指出它的长度:  (1)指令中划出字段指出长度;  (2)指令格式中指出数据块的首地址与末地址;  (3)由块结束字符指出数据块长度。  操作码 首地址 标志位 末地址十、段寻址方式  微型机中采用了段寻址方式,例如它们可以给定一个20位的地址,从而有1M存储空间的直接寻址能力。为此将整个1M空间存储器以64K为单位划分成若干段。在寻址一个内存具体单元时,由一个基地址再加上某些寄存器提供的16位偏移量来形成实际的20位物理地址。这个基地址就是CPU中的段寄存器。在形成20位物理地址时,段寄存器中的16位数会自动左移4位,然后以16位偏移量相加,即可形成所需的内存地址。
2023-09-09 07:41:041

内存64GB,按字节编码或者字编码,求地址范围

字节编址是256M,字编码是8BIT,地址范围是128M。它的寻址范围是128M,而每个内存地址可以存储16bit数据。按字节编址:对于这个256M内存来说,它的寻址范围是256M,而每个内存地址可以存储8bit数据。地址通常是虚拟地址,但文档特别指出了另一种类型的地址。在用户模式下,调试器根据当前进程的页面目录解释虚拟地址。在内核模式下,调试器根据进程上下文指定的进程的页目录解释虚拟地址。还可以直接设置用户模式地址上下文。有关用户模式地址上下文的详细信息。
2023-09-09 07:41:231

内存基址是什么?内存中保存的信息是什么

内存里面放的是运行程序的编码要运行那些东西先把硬盘里的数据移动到内存里然后按寻址找到相应程序的内容即基址0X之类的是内存地址来的WINDOSXP是运行在在支持虚拟地址空间的计算机上,虚拟地址空间或者映射到一段真实的物理内存,或者映射到交换文件中的页帧。不同的应用程序可能会操作同一个虚拟地址,但是其对应的物理地址不一定相同,比如进程A和进程B都访问adrs1地址,进程A的地址经过全局表和局部表转换后变为一个指向物理a1内存的地址,而进程B的地址经过全局表和局部表转换后变为一个指向物理b1内存的地址,而且这个地址所在页并不在物理内存中,而是在交换文件中,于是系统就进行内存交换,将相应的页读入进行操作文件偏移也比较好理解,文件开始的第一个字节偏移量为0之后每经过一个字节偏移量就加1
2023-09-09 07:41:321

怎样从内存地址范围计算内存大小?

直接计算就可以比如内存地址范围是从FF8E0000-FF8EFFFF,则其大小为FF8EFFFF-FF8E0000=FFFF,等于65535,也就是64K.
2023-09-09 07:41:411

如果存储器地址空间是16mb.字长为8位,那么存取一个字需要多少位?

24位。8位为一个字节,即字长为1个字节,地址空间16MB=2^24B=2^24字节,字节除以字节得到字,取log2字,得到24位。而且这里应该算的是存储空间,所以上述过程即求存储空间,也就是地址空间的过程,也就是寻址。扩展资料:存储器地址空间:地址空间(address space)表示任何一个计算机实体所占用的内存大小。物理存储器和存储地址空间是两个不同的概念。但是由于这两者有十分密切的关系,而且两者都用B、KB、MB、GB来度量其容量大小,因此容易产生认识上的混淆,弄清这两个不同的概念,有助于进一步认识主存储器和用好主存储器。物理存储器是指实际存在的具体存储器芯片。如主板上装插的主存条和装载有系统的BIOS的ROM芯片,显示卡上的显示RAM芯片和装载显示BIOS的ROM芯片,以及各种适配卡上的RAM芯片和ROM芯片都是物理存储器。存储地址空间是指对存储器编码(编码地址)的范围。所谓编码就是对每一个物理存储单元(一个字节)分配一个号码,通常叫作“编址”。分配一个号码给一个存储单元的目的是为了便于找到它,完成数据的读写,这就是所谓的“寻址”(所以,有人也把地址空间称为寻址空间)。CPU在操控物理存储器的时候,把物理存储器都当作内存来对待,把它们总的看作一个由若干存储单元组成的逻辑存储器,这个逻辑存储器就是我们所说的内存地址空间。有的物理存储器被看作一个由若干存储单元组成的逻辑存储器,每个物理存储器在这个逻辑存储器中占有一个地址段,即一段地址空间。CPU在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据。地址空间的大小和物理存储器的大小并不一定相等。举个例子来说明这个问题:某层楼共有17个房间,其编号为801~817。这17个房间是物理的,而其地址空间采用了三位编码,其范围是800~899共100个地址,可见地址空间是大于实际房间数量的。对于386以上档次的微机,其地址总线为32位,因此地址空间可达2的32次方,即4GB。但实际上我们所配置的物理存储器通常只有1MB、2MB、4MB、8MB、16MB、32MB等,远小于地址空间所允许的范围。参考资料来源:百度百科—地址空间
2023-09-09 07:42:261

究竟什么是内存高地址什么是内存低地址~

字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序,通常有小端、大端两种字节顺序。小端字节序指低字节数据存放在内存低地址处,高字节数据存放在内存高地址处;大端字节序是高字节数据存放在低地址处,低字节数据存放在高地址处。基于X86平台的PC机是小端字节序的,而有的嵌入式平台则是大端字节序的。因而对int、uint16、uint32等多于1字节类型的数据,在这些嵌入式平台上应该变换其存储顺序。通常我们认为,在空中传输的字节的顺序即网络字节序为标准顺序,考虑到与协议的一致以及与同类其它平台产品的互通,在程序中发数据包时,将主机字节序转换为网络字节序,收数据包处将网络字节序转换为主机字节序
2023-09-09 07:42:462

地址总线和内存的计算关系

地址总线是这样的:一根地址线,代表一个bit位,n位宽度的地址总线可寻址范围是2的n次方个地址。比如:若只有一根地址总线,那么可以索引地址0、地址1的两个内存地址。若有两根地址总线,那么可以索引2^2=4个内存地址:00、01、10、11以此类推,32位地址总线,能够索引2的32次方个地址,即4G内存地址空间。然后再说这个电脑的位数,电脑的位数通常是指CPU的处理位数,这个不是靠地址总线来决定的,这个位数指的是CPU 通用寄存器的数据宽度,即CPU一次运算可以处理的数据bit长度
2023-09-09 07:42:551

1M内存的地址编号是 从00000 H到FFFFF H 吗? 为什么 ,怎么算的啊?

1M=1024*1024=1048576(10进制) FFFFF(16进制)=15*16^4+15*16^3+15*16^2+15*16+15=1048575(10进制),所以从00000H到FFFFFH刚好1M
2023-09-09 07:43:041

计算机内存地址怎么求呀???

H表示这是用16进制表示的,两地址间的差距即为空间大小,用大的减小的再加一。2001H-7000H:7000H-2001H+1H=5000H,所以空间为20480Byte=20KB(将5000H转换为十进制可得),或者直接用5000H除于400H=14H (KB)=20KB同理得4FFFH-1000H+1H=4000H,空间为16384Byte=16KB16K可以存储汉字为8K个,即8192个(每个汉字占2个字节)
2023-09-09 07:43:281

8086从偶地址访问内存一个字时需占用____周期,而从奇地址访问内存一个字操作需占用____周期

1,2
2023-09-09 07:43:502

内存地址是怎么被表示的

如你所说,内存地址就是用这样的格式来表示的。 首先 0x是表示后面的数字是十六进制的 其次 后面的8位数就是用十六进制来表示内存地址希望回答对你有帮助。
2023-09-09 07:44:131

0x10042750指令引用的0x10042750用人的内存,该内存不能为written.要终止程序,请单击确定

0x10042750这块内存不能写,应该是软件和操作系统的冲突。把新安装的软件卸载了,重启电脑。
2023-09-09 07:44:245

用c语言如何获取内存地址?

printf("%p",a) 输出a代表的地址
2023-09-09 07:44:456

操作数1的内存地址

MOV WORD PTR[BX+SI+2]2846。1、操作数是运算符作用于的实体,是表达式中的一个组成部分,它规定了指令中进行数字运算的量 。表达式是操作数与操作符的组合。2、操作数地址就是操作数存放在内存的物理地址。3、操作数指出指令执行的操作所需要数据的来源。操作数是汇编语言指令的一个字段。例如:Mov AX 5678H 操作数(AX 5678H)。在操作数这个字段中可以放操作数本身,也可以放操作地址,还可以放操作地址的计算方法。
2023-09-09 07:45:021

0x7eae3e5f指令引用的0x80070057内存.该内存不能为read

重装系统吧,不然就看下面的内存不能为read或written的解决方案该内存不能为read或written的解决方案 使用Windows操作系统的人有时会遇到这样的错误信息:「“0X????????”指令引用的“0x00000000”内存,该内存不能为“read”或“written”」,然后应用程序被关闭。如果去请教一些「高手」,得到的回答往往是「Windows就是这样不稳定」之类的义愤和不屑。其实,这个错误并不一定是Windows不稳定造成的。本文就来简单分析这种错误的一般原因。一、应用程序没有检查内存分配失败程序需要一块内存用以储存数据时,就需要使用操作系统提供的「功能函数」来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是「动态内存分配」,内存地址也就是编程中的「光标」。内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值「0」已不表示新启用的游标,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的「健壮性」。若应用程序没有检查这个错误,它就会按照「思维惯性」认为这个值是给它分配的可用游标,继续在之后的执行中使用这块内存。真正的0地址内存区储存的是计算机系统中最重要的「中断描述符表」,绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即当机,而在健壮的操作系统中,如 Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的「写内存」错误,并指出被引用的内存地址为「0x00000000」。内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中「安装」的病毒程序),更改了大量的系统参数和系统档案之后。二、应用程序由于自身BUG引用了不正常的内存光标在使用动态分配的应用程序中,有时会有这样的情况出现:程序试突读写一块「应该可用」的内存,但不知为什么,这个预料中可用的光标已经失效了。有可能是「忘记了」向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而「没有留意」等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图「违法」的程序唯一的下场就是被操作终止执行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊!像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效光标不一定总是0,因此错误提示中的内存地址也不一定为「0x00000000」,而是其它随机数字。如果系统经常有所提到的错误提示,下面的建议可能会有说明 :1.检视系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致操作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。2.更新操作系统,让操作系统的安装程序重新拷贝正确版本的系统档案、修正系统参数。有时候操作系统本身也会有BUG,要注意安装官方发行的升级程序。3.试用新版本的应用程序。Mode:将虚拟内存撤换答案:目前为止是肯定的,也就是如在下次冷天到来时亦没再发生,就代表这是主因追加:如果你用 Ghost 恢复 OS 后建议 删除WINDOWS\PREFETCH目录下所有*.PF文件因为需让windows重新收集程序的物理地址有些应用程序错误 "0x7cd64998" 指令参考的 "0x14c96730" 内存。该内存不能为 "read"推论是此原因源由:Win XP的「预读取」技术这种最佳化技术也被用到了应用软件上,系统对每一个应用软件的前几次启动情况进行分析,然后新增一个描述套用需求的虚拟「内存映像」,并把这些信息储存到 WINDOWSPREFETCH数据夹。一旦建立了映像,应用软件的装入速度大大提高。XP的预读取数据储存了最近8次系统启动或应用软件启动的信息。后叙:目前此方法亦是独步网络的(其码自己针对此问题查了许久),也是常见问题,原本几乎每天睡前关闭软件时一些程序都会发生...read...现在就没发生了。【文章二】运行某些程序的时候,有时会出现内存错误的提示(0x后面内容有可能不一样),然后该程序就关闭。 “0x????????”指令引用的“0x????????”内存。该内存不能为“read”。 “0x????????”指令引用的“0x????????”内存,该内存不能为“written”。 不知你出现过类似这样的故障吗? 一般出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。 下面先说说硬件: 一般来说,内存出现问题的可能性并不大,主要方面是:内存条坏了、内存质量有问题,还有就是2个不同牌子不同容量的内存混插,也比较容易出现不兼容的情况,同时还要注意散热问题,特别是超频后。你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。 假如你是双内存,而且是不同品牌的内存条混插或者买了二手内存时,出现这个问题,这时,你就要检查是不是内存出问题了或者和其它硬件不兼容。 如果都没有,那就从软件方面排除故障了。 先简单说说原理:内存有个存放数据的地方叫缓冲区,当程序把数据放在其一位置时,因为没有足够空间,就会发生溢出现象。举个例子:一个桶子只能将一斤的水,当你放入两斤的水进入时,就会溢出来。而系统则是在屏幕上表现出来。这个问题,经常出现在windows2000和XP系统上,Windows 2000/XP对硬件的要求是很苛刻的,一旦遇到资源死锁、溢出或者类似Windows 98里的非法操作,系统为保持稳定,就会出现上述情况。另外也可能是硬件设备之间的兼容性不好造成的。 下面我从几个例子给大家分析: 例一:打开IE浏览器或者没过几分钟就会出现"0x70dcf39f"指令引用的"0x00000000"内存。该内存不能为“read”。要终止程序,请单击“确定”的信息框,单击“确定”后,又出现“发生内部错误,您正在使用的其中一个窗口即将关闭”的信息框,关闭该提示信息后,IE浏览器也被关闭。解决方法:修复或升级IE浏览器,同时打上补丁。看过其中一个修复方法是,Win2000自升级,也就是Win2000升级到Win2000,其实这种方法也就是把系统还原到系统初始的状态下。比如你的IE升级到了6.0,自升级后,会被IE5.0代替。 例二:在windows xp下双击光盘里面的“AutoRun.exe”文件,显示“0x77f745cc”指令引用的“0x00000078”内存。该内存不能为 “written”,要终止程序,请单击“确定”,而在Windows 98里运行却正常。解决方法:这可能是系统的兼容性问题,winXP的系统,右键“AutoRun.exe”文件,属性,兼容性,把“用兼容模式运行这个程序”项选择上,并选择“Windows 98/Me”。win2000如果打了SP的补丁后,只要开始,运行,输入:regsvr32 c:winntapppatchslayerui.dll。右键,属性,也会出现兼容性的选项。 例三:RealOne Gold关闭时出现错误,以前一直使用正常,最近却在每次关闭时出现“0xffffffff”指令引用的“0xffffffff”内存。该内存不能为 “read” 的提示。解决方法:当使用的输入法为微软拼音输入法2003,并且隐藏语言栏时(不隐藏时没问题)关闭RealOne就会出现这个问题,因此在关闭RealOne 之前可以显示语言栏或者将任意其他输入法作为当前输入法来解决这个问题。 例四:我的豪杰超级解霸自从上网后就不能播放了,每次都提示 “0x060692f6”(每次变化)指令引用的“0xff000011”内存不能为“read”,终止程序请按确定。解决方法:试试重装豪杰超级解霸,如果重装后还会,到官方网站下载相应版本的补丁试试。还不行,只好换就用别的播放器试试了。 例五:双击一个游戏的快捷方式,“0x77f5cd0”指令引用“0xffffffff”内 存,该内存不能为“read” ,并且提示Client.dat程序错误。 解决方法:重装显卡的最新驱动程序,然后下载并且安装DirectX9.0。 例六:一个朋友发信息过来,我的电脑便出现了错误信息:“0x772b548f”指令引用的“0x00303033”内存,该内存不能为 “written”,然后QQ自动下线,而再打开QQ,发现了他发过来的十几条的信息。解决方法:这是对方利用QQ的BUG,发送特殊的代码,做QQ出错,只要打上补丁或升级到最新版本,就没事了。【原因 解决方法】1 内存条坏了 更换内存条2 双内存不兼容 使用同品牌的内存或只要一条内存3 内存质量问题 更换内存条4 散热问题 加强机箱内部的散热5 内存和主板没插好或其他硬件不兼容 重插内存或换个插槽6 硬件有问题 更换硬盘7 驱动问题 重装驱动,如果是新系统,应先安装主板驱动8 软件损坏 重装软件9 软件有BUG 打补丁或更新到最新版本10 软件和系统不兼容 给软件打上补丁或是试试系统的兼容模式11 软件和软件之间有冲突 如果最近安装了什么新软件,卸载了试试12 软件要使用其他相关的软件有问题 重装相关软件,比如播放某一格式的文件时出错,可能是这个文件的解码器有问题13 病毒问题 杀毒14 杀毒软件与系统或软件相冲突 由于杀毒软件是进入底层监控系统的,可能与一些软件相冲突,卸载试试15 系统本身有问题 有时候操作系统本身也会有BUG,要注意安装官方发行的更新程序,象SP的补丁,最好打上.如果还不行,重装系统,或更换其他版本的系统。〔又一说〕在控制面板的添加/删除程序中看看你是否安装了微软NET.Framework,如果已经安装了,可以考虑卸载它,当然如果你以后在其它程序需要NET.Framework时候,可以再重新安装。另外,如果你用的是ATI显卡并且你用的是SP2的补丁(一些ATI的显卡驱动需要在NET.Framework正常工作的环境下)。这种情况你可以找一款不需要NET.Framework支持的ATI显卡驱动。如果以上两种方法并不能完全解决问题,你试着用一下“IE修复”软件,并可以查查是否有病毒之类的。〔微软NET.Framework升级到1.1版应该没问题了〕〔还有一说〕方法一:微软新闻组的朋友指点:开始--运行:regsvr32 jscript.dll开始--运行:regsvr32 vbscript.dll不过没解决---但提供了路子-----一次运行注册所有dll搜索查找到方法如下:运行 输入cmd 回车在命令提示符下输入for %1 in (%windir%system32*.dll) do regsvr32.exe /s %1这个命令老兄你慢慢输 输入正确的话会看到飞快地滚屏 否则……否则失败就是没这效果。回车后慢慢等(需要点时间1-2分钟) 都运行完再打开看方法二:这是个典型问题~~~~~引起这个问题的原因很多。一般来讲就是给系统打上补丁和更换内存、给内存换个插槽这3种方法来解决。[系统补丁只要到Microsoft Update网站在线更新就可以了](偶见)造成这种问题的原因很多,不能单纯的下结论,尽量做到以下几点可能对你有帮助:1。确保使用的是未修改过的软件(非汉化、破解版)2。使用改软件时尽量不要运行其他软件。(这是个临时文件,可能某些软件也在使用临时文件夹,所以产生干扰)3。把那些什么桌面工具,内存整理工具通通关掉(你至少有2个类似的工具在运行)”处理方法:运行regedit进入注册表, 在HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellExecuteHooks 下,应该只有一个正常的键值"{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 将其他的删除。〔我个人的最后解决和看法〕我今天尝试了多种办法,最后我发现问题出在微软的NET.Framework上面。我升级了这个软件,并打齐了补丁,短暂平安后,有出现“内存不能为read”的情况。后来我受上面文章的启发,卸载了微软的NET.Framework1.0和1.1,世界太平了。另外:如果是打开“我的电脑”、“我的文档”等的时候出现上述情况,还有一种可能,就是你的右键菜单太臃肿了,此时只要清理右键菜单问题就解决了。--------------------------------------------------------------------------------〔试验的结果〕上面的方法,最管用、最彻底的方法是这个:运行 输入cmd 回车在命令提示符下输入for %1 in (%windir%system32*.dll) do regsvr32.exe /s %1【技巧】如果怕输入错误的话,可以复制这条指令,然后在命令提示框点击左上角的c:,使用下面的“编辑-粘贴”功能就不容易输错了。在飞速滚屏完全静止之后,别着急启动其他程序,先耐心等一会儿,因为此时dll们还在找位置。直到你的指示灯不闪了再做别的。
2023-09-09 07:45:232

“计算机的内存是按字节来进行编址的”这句话是什么意思?内存指的是什么?

内存也就是常说的内存条,也就是DRAM芯片如下图:计算机的内存是按字节来进行编址的这句话理解为:内存是按字节编址,每个地址的存储单元可以存放8bit的数据。我们也知道CPU通过内存地址获取一条指令和数据,而他们存在存储单元中。现在就有一个问题。我们的数据和指令不可能刚好是8bit,如果小于8位,没什么问题,顶多是浪费几位(或许按字节编址是为了节省内存空间考虑)。但是当数据或指令的长度大于8bit呢?因为这种情况是很容易出现的,比如一个16bit的Int数据在内存是如何存储的呢?其实一个简单的办法就是使用多个存储单元来存放数据或指令。比如Int16使用2个内存单元,而Int32使用4个内存单元。当读取数据时,一次读取多个内存单元。大端和小端存储Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
2023-09-09 07:45:334

内存地址 c语言

不会的
2023-09-09 07:45:414

内存地址(代码)是什么?

系统 ram 中的特定位置,通常以十六进制的数字表示。  在8086的实模式下,把某一段寄存器左移4位,然后与地址ADDR相加后被直接送到内存总线上,这个相加后的地址就是内存单元的物理地址,而程序中的这个地址就叫逻辑地址(或叫虚地址)。在80386的保护模式下,这个逻辑地址不是被直接送到内存总线,而是被送到内存管理单元(MMU)。MMU由一个或一组芯片组成,其功能是把逻辑地址映射为物理地址,即进行地址转换。  当使用80386时,我们必须区分以下三种不同的地址:  逻辑地址:  机器语言指令仍用这种地址指定一个操作数的地址或一条指令的地址。这种寻址方式在Intel的分段结构中表现得尤为具体,它使得MS-DOS或Windows程序员把程序分为若干段。每个逻辑地址都由一个段和偏移量组成。  线性地址:  线性地址是一个32位的无符号整数,可以表达高达232(4GB)的地址。通常用16进制表示线性地址,其取值范围为0x00000000~0xffffffff。  物理地址:  也就是内存单元的实际地址,用于芯片级内存单元寻址。物理地址也由32位无符号整数表示。  MMU是一种硬件电路,它包含两个部件,一个是分段部件,一个是分页部件,在本书中,我们把它们分别叫做分段机制和分页机制,以利于从逻辑的角度来理解硬件的实现机制。分段机制把一个逻辑地址转换为线性地址;接着,分页机制把一个线性地址转换为物理地址
2023-09-09 07:46:191

内存地址的实质是什么?

是这样,内存地址是由段地址和偏移地址组成的。Cpu管理内存是分段管理的,偏移地址就是距段首址的位移量,段地址存在cpu的段寄存器中,而偏移地址放在Cpu里的其它寄存器中。当Cpu调用内存某个数据时就会从内部寄存里寻找该内存内容的段地址和偏移地址,也就是它的物理地址,这个过程就是寻址。
2023-09-09 07:46:272

计算机内存单元的地址一般是多少位???

由操作系统决定的
2023-09-09 07:46:375

内存寻址方式具体是指什么?

一、隐含寻址 在指令中不明显的给出而是隐含着操作数的地址。例如,单地址的指令格式,没有在地址字段中指明第二操作数地址,而是规定累加寄存器AC作为第二操作数地址,AC对单地址指令格式来说是隐含地址。二、立即寻址 指令的地址字段指出的不是操作数的地址,而是操作数本身。这种方式的特点是指令执行时间很短,不需要访问内存取数。 例如:单地址的移位指令格式为 OP(移位) F D这里D不是地址,而是一个操作数。F为标志位,当F=1,操作数进行右移;当F=0时,操作数进行左移。三、直接寻址 直接寻址特点是:在指令格式的地址字段中直接指出操作数在内存的地址D。点击演示 采用直接寻址方式时,指令字中的形式地址D就是操作数的有效地址E,既E=D。因此通常把形式地址。 点击演示D又称为直接地址。此时,由寻址模式给予指示。 如果用S表示操作数,那么直接寻址的逻辑表达式为 S=(E)=(D)四、间接寻址 间接寻址的情况下,指令地址字段中的形式地址D不是操作数的真正地址,而是操作数地址的指示器,D单元的内容才是操作数的有效地址。 如果把直接寻址和间接寻址结合起来,指令有如下形式: 操作码 I D 寻址特征位I=0,表示直接寻址,这时有效地址E=D;I=1,表示间接寻址,这时有效地址E=(D)。 间接寻址方式是早期计算机中经常采用的方式,但由于两次访存,影响指令执行速度,现在已不大使用。五、寄存器寻址方式和寄存器间接寻址方式 当操作数不放在内存中,而是放在CPU的通用寄存器中时,可采用寄存器寻址方式。此时指令中给出的操作数地址不是内存的地址单元号,而是通用寄存器的编号。 寄存器间接寻址方式与寄存器寻址方式的区别在于:指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数在内存中。六、相对寻址方式 相对寻址是把程序计数器PC的内容加上指令格式中的形式地址D而形成操作数的有效地址。程序计数器的内容就是当前指令的地址。“相对”寻址,就是相对于当前的指令地址而言。 点击演示 采用相对寻址方式的好处是程序员无须用指令的绝对地址编程,所编程序可以放在内存任何地方。 此时形式地址D通常称为偏移量,其值可正可负,相对于当前指令地址进行浮动。七、基址寻址方式基址寻址方式是将CPU中基址寄存器的内容加上指令格式中的形式地址而形成操作数的有效地址。点击演示它的优点是可以扩大寻址能力。同形式地址相比,基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址。八、变址寻址方式 变址寻址方式与基址寻址方式计算有效地址的方法很相似,它把CPU中某个变址寄存器的内容与偏移量D相加来形成操作数有效地址。 但使用变址寻址方式的目的不在于扩大寻址空间,而在于实现程序块的规律性变化。九、块寻址方式 块寻址方式经常用在输入输出指令中,以实现外存储器或外围设备同内存之间的数据块传送。块寻址方式在内存中还可用于数据块搬家。 块寻址时,通常在指令中指出数据块的起始地址(首地址)和数据块的长度(字数或字节数)。 如果数据块是变长的,可用三种方法指出它的长度: (1)指令中划出字段指出长度; (2)指令格式中指出数据块的首地址与末地址; (3)由块结束字符指出数据块长度。 操作码 首地址 标志位 末地址十、段寻址方式 微型机中采用了段寻址方式,例如它们可以给定一个20位的地址,从而有1M存储空间的直接寻址能力。为此将整个1M空间存储器以64K为单位划分成若干段。在寻址一个内存具体单元时,由一个基地址再加上某些寄存器提供的16位偏移量来形成实际的20位物理地址。这个基地址就是CPU中的段寄存器。在形成20位物理地址时,段寄存器中的16位数会自动左移4位,然后以16位偏移量相加,即可形成所需的内存地址。
2023-09-09 07:46:551

地址总线和内存的计算关系

地址总线是这样的:一根地址线,代表一个bit位,n位宽度的地址总线可寻址范围是2的n次方个地址。比如:若只有一根地址总线,那么可以索引地址0、地址1的两个内存地址。若有两根地址总线,那么可以索引2^2=4个内存地址:00、01、10、11以此类推,32位地址总线,能够索引2的32次方个地址,即4G内存地址空间。然后再说这个电脑的位数,电脑的位数通常是指CPU的处理位数,这个不是靠地址总线来决定的,这个位数指的是CPU通用寄存器的数据宽度,即CPU一次运算可以处理的数据bit长度
2023-09-09 07:47:051

内存地址的计算

好难哦,不会算
2023-09-09 07:47:153

怎么根据内存地址查程序所在位置

1、首先确定页目录基址。2、其次定位页目录项。3、最后定位页表项,即可确定地址。
2023-09-09 07:47:211

若一个系统内存有64MB,处理器是32位地址,则它的虚拟地址空间为多少字节?

处理器是32位的,所以处理器的寻址能力为2的32次方,由寻址能力可知,虚拟地址空间为2的32次方字节=4GB
2023-09-09 07:47:321

0x2c2c2c 错误 内存不能为read

建议你重组下C盘系统。。一切都可以解决。
2023-09-09 07:48:073

究竟什么是内存高地址什么是内存低地址?

字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序,通常有小端、大端两种字节顺序。小端字节序指低字节数据存放在内存低地址处,高字节数据存放在内存高地址处;大端字节序是高字节数据存放在低地址处,低字节数据存放在高地址处。基于X86平台的PC机是小端字节序的,而有的嵌入式平台则是大端字节序的。因而对int、uint16、uint32等多于1字节类型的数据,在这些嵌入式平台上应该变换其存储顺序。通常我们认为,在空中传输的字节的顺序即网络字节序为标准顺序,考虑到与协议的一致以及与同类其它平台产品的互通,在程序中发数据包时,将主机字节序转换为网络字节序,收数据包处将网络字节序转换为主机字节序
2023-09-09 07:48:351

C语言中的内存地址和存储单元是什么概念?

假定内存是由好多个方格组成(每个方格代表1位),当你定义了一个变量的时候,他会在内存空闲区域占一个区域(标示被占用,别人不能动了)。至于占多少个格,要受到你定义的变量类型影响。比如int型占用2字节就是8位,也就是8格,你变量的名字连接着这几个格子的第一个格子的位置。引用的时候直接找第一个格子位置,然后取对应类型所需的格子。
2023-09-09 07:48:453

内存地址表示多少个字节区域

视CPU寻址能力和操作系统是否32/64位而定,32位系统,用4字节表示内存地址,最多寻址4GB;64位系统,用8字节表示内存地址,最多寻址2^64字节
2023-09-09 07:49:101

显存地址与内存地址是什么关系

显存缓存处理GPU信息的内存是处理CPU信息的他并没有什么直接关系
2023-09-09 07:49:202

内存地址是什么?可以把它理解成为是一个数据吗?

每一个内存都有他的地址,简单理解成位置,并不是以个数据内存看作房间,内存地址看作门牌号。指针来寻找。
2023-09-09 07:49:271

0*0000000指令引用的0*0000000内存.该内存不能为 read

囧,LZ的电脑被黑啦···
2023-09-09 07:49:386