- 0
- 0
- 约1.19万字
- 约 13页
- 2017-04-30 发布于北京
- 举报
使用Windows操作系统的人有时会遇到这样的错误信息:
「“0X????????”指令引用的“0内存,该内存不能为“read”或“written”」,然后应用程序被关闭。
如果去请教一些「高手」,得到的回答往往是「Windows就是这样不稳定」之类的义愤和不屑。其实,这个错误并不一定是Windows不稳定造成的。本文就来简单分析这种错误的一般原因。
一、应用程序没有检查内存分配失败
程序需要一块内存用以储存数据时,就需要使用操作系统提供的「功能函数」来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是「动态内存分配」,内存地址也就是编程中的「光标」。内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值「0」已不表示新???用的游标,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的「健壮性」。若应用程序没有检查这个错误,它就会按照「思维惯性」认为这个值是给它分配的可用游标,继续在之后的执行中使用这块内存。
真正的0地址内存区储存的是计算机系统中最重要的「中断描述符表」
您可能关注的文档
- 低年级识字写字教学浅识.doc
- 低年级写话教学小结[马海尔].doc
- 低年级写话教学思考.doc
- 低年级看图写话模式.doc
- 低年级识字.记字.写字之我见.doc
- 低年级识字方法多多.doc
- 低年级语文教学中学生倾听能力培养.doc
- 低年级语文课堂教学调控策略.doc
- 低段写话教学几点思考.doc
- 低段学生写话训练几个小方法.doc
- 科莱美特研究院:从土地出发的气候对话.docx
- 抖音科技大事件IPAI未来合伙人.docx
- 2026年移动应用趋势报告:应用表现的全球数据基准.docx
- 2026年人力资本优势:全球职场未来趋势研究报告 The Human Edge Global Future of Work Trends.docx
- AQ安全常识性教育宣传⼝袋⼿册.docx
- 青海省2025年度行政复议工作白皮书.docx
- 可回收物碳普惠终端设备技术规范.docx
- 彭博_Apple M5 MacBook Pro 与 Air 评测:当 Neo 仍不够用时.docx
- 算力算法数据一体化供给的城市级AI大模型算力池建设方案.docx
- 2025QECon全球软件质量效能大会:从辅助工具到研发队友-Coding Agent的演进与实践.docx
原创力文档

文档评论(0)