今天暑假小学期实训,老师讲了下 MFC,下午我便按照老师讲的东西和百度把我以前的练习弄进 MFC 里去了,结果一运行就提示内存不足,和老师一块弄了近一个小时,也没找出问题来,各位 V 友能帮助下吗?
今天还是第一天学 MFC,一个很简单的 MFC 程序。 单步调试一直在 MFC 给好的一个函数循环。 用的是 VS2019 带.VS 隐藏文件夹的代码 http://119.3.249.77/MFCExpress.zip 不带.VS 文件夹的代码 http://119.3.249.77/不带.vs 文件.zip
1
hoyixi 2019-07-03 23:49:52 +08:00
放个网盘多好,你这速度让别人下得费劲
|
2
ysc3839 2019-07-03 23:58:08 +08:00 via Android
先检查一下是不是关闭了 Windows 的虚拟内存?
|
3
minmini 2019-07-04 00:14:38 +08:00 via Android 3
看成了小学实训🤣🤣
|
4
cmheia 2019-07-04 00:55:03 +08:00
竟然拿个全局指针指向栈变量……
|
5
ysc3839 2019-07-04 00:56:43 +08:00 via Android
另外你上传文件不需要带上 .vs 里面的内容,那都是缓存数据。
|
6
810244966 OP @cmheia 被发现了,之前为了方便,也怕用函数传递,改动 MFC 自带的函数头,这个函数就出问题了,就直接用了这个全局指针。 是这个的问题吗? 之前我也感觉这个指针会出问题
|
8
chjy0651 2019-07-04 10:25:45 +08:00
全局指针指向了局部变量,局部变量所在函数执行完生命周期就结束了,局部变量析构,内存被释放,这时全局指针指向的就是一个无效的地址,也就是野指针。
另外:这么个问题,对于初学者就算了,你老师弄了 1 个多小时没找到原因就过分了。 |
9
810244966 OP @chjy0651 哦哦,怪不得,昨天调试的时候刚开始指针里面的值还正常,后来值经过一个 CString 到 string 的转换后就变的异常了,我和老师一直都以为是 CString 到 string 这个转换有问题,(刚开始这个转换一直报错,网上的方法都试了下,我的是宽类型的 CString,转换语句就一直报错,还是在网上找到了个有效方法)
|
10
wxl1380610 2019-07-04 11:50:53 +08:00
野指针 比较难查
|