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