系统提示“该内存不能为read”的原因及解决方法
“0X????????”指令引用的“0x????????”內(nèi)存,該內(nèi)存不能為read,要終止程序,清單擊“確定”“,相信大多數(shù)朋友都遇到過這類內(nèi)存不能為read的提示,有時可能只是偶爾出現(xiàn),這是正常的,而過于頻繁的出現(xiàn),就一定要去查查深層次的原因了,下面為大家介紹下該內(nèi)存不能為read的可能原因及解決方法:
一,造成內(nèi)存不能為read的深層次原因有些應(yīng)用程序在啟動特別是退出保存數(shù)據(jù)時,需要調(diào)用操作系統(tǒng)提供的“功能函數(shù)”進(jìn)行申請。如果內(nèi)存分配成功,函數(shù)就會將新開辟的內(nèi)存區(qū)地址返回給應(yīng)用程序,應(yīng)用程序就可以通過這個地址使用相應(yīng)內(nèi)存。這就是“動態(tài)內(nèi)存分配”,內(nèi)存地址也就是編程中的“指針”。
但由于某些原因,可能導(dǎo)致內(nèi)存分配的失敗。當(dāng)分配失敗時系統(tǒng)函數(shù)就會返回一個0值,這時返回值“0”已不表示新啟用的指針,而是系統(tǒng)向應(yīng)用程序提醒:你的申請出現(xiàn)錯誤未能成功!若應(yīng)用程序沒有檢查到這個錯誤,就會按照“思維慣性”認(rèn)為這個值就是給它分配的可用指針,繼續(xù)在此后的運(yùn)行中使用它認(rèn)為的“這塊內(nèi)存”。
然而,真正的0地址內(nèi)存區(qū)保存的是系統(tǒng)中最重要的“中斷描述符表”,是不允許一般應(yīng)用程序使用的。應(yīng)用程序試圖使用該0地址,會馬上被Windows系統(tǒng)的保護(hù)機(jī)制捕獲,而后由操作系統(tǒng)強(qiáng)行關(guān)閉出錯的應(yīng)用程序,以防止其錯誤擴(kuò)大。這時候,就會出現(xiàn)上述的“寫內(nèi)存”錯誤,并指出被引用的內(nèi)存地址為 “0x????????”。
如何避免內(nèi)存不能為read?1,安裝原汁原味的官方原版系統(tǒng)
推薦系統(tǒng):XP SP3 | Windows7 SP1
2,不濫裝軟件,只安裝自己需要的軟件
推薦閱讀:關(guān)于軟件的選擇,安裝,設(shè)置,卸載的注意事項
3,使用一段時間,建議定期清理內(nèi)存的“金手指”結(jié)合部
4,安裝知名的殺毒軟件,定期查殺,減少感染病毒***的幾率
遇到內(nèi)存不能為read的緊急補(bǔ)救措施:
在命令提示符(CMD)中輸入以下命令后回車:
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
通過運(yùn)行以上命令可以將系統(tǒng)中所有的.dll文件重新注冊一遍(大約需要3-5分鐘時間),從而解決當(dāng)前的內(nèi)存不能為read的故障。
轉(zhuǎn)載于:https://blog.51cto.com/yanzhikun/674701
總結(jié)
以上是生活随笔為你收集整理的系统提示“该内存不能为read”的原因及解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WOJ1206-QQ军棋
- 下一篇: 用python分析《大侦探第七季之蔷薇下