MFC 程序一运行就提示内存不足

2019-07-03 23:45:31 +08:00
 810244966

今天暑假小学期实训,老师讲了下 MFC,下午我便按照老师讲的东西和百度把我以前的练习弄进 MFC 里去了,结果一运行就提示内存不足,和老师一块弄了近一个小时,也没找出问题来,各位 V 友能帮助下吗?

今天还是第一天学 MFC,一个很简单的 MFC 程序。 单步调试一直在 MFC 给好的一个函数循环。 用的是 VS2019 带.VS 隐藏文件夹的代码 http://119.3.249.77/MFCExpress.zip 不带.VS 文件夹的代码 http://119.3.249.77/不带.vs 文件.zip

3904 次点击
所在节点    程序员
10 条回复
hoyixi
2019-07-03 23:49:52 +08:00
放个网盘多好,你这速度让别人下得费劲
ysc3839
2019-07-03 23:58:08 +08:00
先检查一下是不是关闭了 Windows 的虚拟内存?
minmini
2019-07-04 00:14:38 +08:00
看成了小学实训🤣🤣
cmheia
2019-07-04 00:55:03 +08:00
竟然拿个全局指针指向栈变量……
ysc3839
2019-07-04 00:56:43 +08:00
另外你上传文件不需要带上 .vs 里面的内容,那都是缓存数据。
810244966
2019-07-04 08:11:55 +08:00
@cmheia 被发现了,之前为了方便,也怕用函数传递,改动 MFC 自带的函数头,这个函数就出问题了,就直接用了这个全局指针。 是这个的问题吗? 之前我也感觉这个指针会出问题
810244966
2019-07-04 08:12:53 +08:00
@ysc3839 哦哦,我之前怕这个是 vs 版本的的什么东西,就索性都上传了
chjy0651
2019-07-04 10:25:45 +08:00
全局指针指向了局部变量,局部变量所在函数执行完生命周期就结束了,局部变量析构,内存被释放,这时全局指针指向的就是一个无效的地址,也就是野指针。
另外:这么个问题,对于初学者就算了,你老师弄了 1 个多小时没找到原因就过分了。
810244966
2019-07-04 11:06:42 +08:00
@chjy0651 哦哦,怪不得,昨天调试的时候刚开始指针里面的值还正常,后来值经过一个 CString 到 string 的转换后就变的异常了,我和老师一直都以为是 CString 到 string 这个转换有问题,(刚开始这个转换一直报错,网上的方法都试了下,我的是宽类型的 CString,转换语句就一直报错,还是在网上找到了个有效方法)
wxl1380610
2019-07-04 11:50:53 +08:00
野指针 比较难查

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/579803

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX