关于程序运行内存不能read
答案:2 悬赏:50 手机版
解决时间 2021-04-25 15:40
- 提问者网友:孤凫
- 2021-04-24 20:18
刚编译过一个程序。运行时内存不能read。拿到别人的机子上运行也是一样。所以不是硬件的问题。是不是编译环境的问题??有什么办法让它运行
最佳答案
- 五星知识达人网友:低音帝王
- 2021-04-24 21:16
在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存,但不知为什么,这个预料中可用的光标已经失效了。有可能是 “忘记了”向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图“违法”的程序唯一的下场就是被操作终止执行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊!像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效光标不一定总是0,因此错误提示中的内存地址也不一定为 “0x00000000”,而是其它随机数字。
,,
楼上的方法们都太麻烦啦~~
这是可以通过安装控件解决的,给大家分享
http://www.rar1.com.cn/html/6744.html
你去看看
写得很详细
全部回答
- 1楼网友:廢物販賣機
- 2021-04-24 22:15
你是不是用 PostThreadMessage 传指针了?而这个指针的生命周期又不够长?或者它指向在堆上分配的一块内存,而PostThreadMessage调用后,这块内存马上被释放了?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯