首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

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

  •  
  •   810244966 · 104 天前 · 1666 次点击
    这是一个创建于 104 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    第 1 条附言  ·  104 天前
    应 V 友所说搞了个网盘存起来,(我的 1m 的小水管太慢了)

    不带.vs 文件链接: https://pan.baidu.com/s/1IkE1aofXtZgtPvBVMyFDOg
    提取码:ifez


    带.vs 文件链接: https://pan.baidu.com/s/1DU2u64P-imTySmbcG61bnA
    提取码:y0ve
    第 2 条附言  ·  104 天前
    这个问题已经解决了,果然是那个指针的问题, 我把全局指针改成全局变量就好了,只是还是不清楚这个指针为什么会出这个问题(还没学过操作系统和数据结构)
    第 3 条附言  ·  104 天前
    这个问题已经解决了,果然是那个指针的问题, 我把全局指针改成全局变量就好了,只是还是不清楚这个指针为什么会出这个问题(还没学过操作系统和数据结构)
    10 回复  |  直到 2019-07-04 11:50:53 +08:00
        1
    hoyixi   104 天前
    放个网盘多好,你这速度让别人下得费劲
        2
    ysc3839   104 天前 via Android
    先检查一下是不是关闭了 Windows 的虚拟内存?
        3
    minmini   104 天前 via Android   ♥ 3
    看成了小学实训🤣🤣
        4
    cmheia   104 天前
    竟然拿个全局指针指向栈变量……
        5
    ysc3839   104 天前 via Android
    另外你上传文件不需要带上 .vs 里面的内容,那都是缓存数据。
        6
    810244966   104 天前
    @cmheia 被发现了,之前为了方便,也怕用函数传递,改动 MFC 自带的函数头,这个函数就出问题了,就直接用了这个全局指针。 是这个的问题吗? 之前我也感觉这个指针会出问题
        7
    810244966   104 天前
    @ysc3839 哦哦,我之前怕这个是 vs 版本的的什么东西,就索性都上传了
        8
    chjy0651   104 天前
    全局指针指向了局部变量,局部变量所在函数执行完生命周期就结束了,局部变量析构,内存被释放,这时全局指针指向的就是一个无效的地址,也就是野指针。
    另外:这么个问题,对于初学者就算了,你老师弄了 1 个多小时没找到原因就过分了。
        9
    810244966   104 天前
    @chjy0651 哦哦,怪不得,昨天调试的时候刚开始指针里面的值还正常,后来值经过一个 CString 到 string 的转换后就变的异常了,我和老师一直都以为是 CString 到 string 这个转换有问题,(刚开始这个转换一直报错,网上的方法都试了下,我的是宽类型的 CString,转换语句就一直报错,还是在网上找到了个有效方法)
        10
    wxl1380610   104 天前
    野指针 比较难查
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3625 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 43ms · UTC 05:17 · PVG 13:17 · LAX 22:17 · JFK 01:17
    ♥ Do have faith in what you're doing.