我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: MFC空闲处理的一个小问题 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

湘D男孩



性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 473
威望: 0
浮云: 1105
在线等级:
注册时间: 2006-09-22
最后登陆: 2008-06-29

5come5帮你背单词 [ caution /'ko:ən/ n. 谨慎,小心,警告 ]


MFC空闲处理的一个小问题

最近写了个很简单的测试程序,原来的目的就是为了验证MFC里的空闲处理,一个SDI框架,在VIew
窗口中打印出OnIdler函数的参数lCount值,当有消息输入时,该值立刻
置为0,(其实就是深入浅出MFC书中的一个例子).但是我发现应用程序运行到一段时间(刚开始只是观察结果符合就直接手动关掉了),应用程序被强行结束掉了....热心的GG给解释哈!
谢谢!
顶端 Posted: 2007-10-30 21:49 | [楼 主]
再不斩



性别: 帅哥 状态: 该用户目前不在线
等级: 鹤立鸡群
发贴: 1414
威望: 0
浮云: 1413
在线等级:
注册时间: 2005-12-23
最后登陆: 2009-04-26

5come5帮你背单词 [ so-called /'səu'ko:ld/ a. 所谓的 ]


Quote:
引用第0楼湘D男孩于2007-10-30 21:49发表的 MFC空闲处理的一个小问题 :
最近写了个很简单的测试程序,原来的目的就是为了验证MFC里的空闲处理,一个SDI框架,在VIew
窗口中打印出OnIdler函数的参数lCount值,当有消息输入时,该值立刻
置为0,(其实就是深入浅出MFC书中的一个例子).但是我发现应用程序运行到一段时间(刚开始只是观察结果符合就直接手动关掉了),应用程序被强行结束掉了....热心的GG给解释哈!
谢谢!

强行?是说你触发了一个事件,程序自动退出了?
顶端 Posted: 2007-10-30 22:58 | [1 楼]
musant



性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 104
威望: 0
浮云: 1122
在线等级:
注册时间: 2006-07-30
最后登陆: 2008-06-19

5come5帮你背单词 [ painting /'peintiŋ/ n. 绘画,油画 ]


试了下,似乎挺正常的运行了.
远程图片:未命名.jpg 附件: [深入浅出mfc]  OnIdleHandler.rar (27 K) 下载次数:3

顶端 Posted: 2007-10-31 11:04 | [2 楼]
奔跑的超杀



性别: 帅哥 状态: 该用户目前不在线
头衔: 奔跑。。。
等级: 荣誉会员
家族: ⊙JAY菊爱园⊙
发贴: 2963
威望: 2
浮云: 455
在线等级:
注册时间: 2006-09-05
最后登陆: 2021-03-08

5come5帮你背单词 [ picture /'piktə/ n. 画,图画,照片,图象,画面,影片 ]


Quote:
引用第2楼musant于2007-10-31 11:04发表的  :
试了下,似乎挺正常的运行了.

是能正常运行,但是你等时间长点,观察下它就会被自动关闭(程序自己没有关闭的操作)..
顶端 Posted: 2007-11-01 10:33 | [3 楼]
路客与刀客



性别: 帅哥 状态: 该用户目前不在线
等级: 希望之光
家族: 梦魇图腾
发贴: 1980
威望: 0
浮云: 1186
在线等级:
注册时间: 2007-01-02
最后登陆: 2008-06-29

5come5帮你背单词 [ makeup /'meikΛp/ n. 化妆品 ]


这是因为你在空闲处理的时候疯狂的用new(CDC * dc=new CClientDC(this);)操作符申请内存(每秒的空闲处理次数接近10万,即使程序看起来很忙空闲处理的次数也不会少。以后编程的时候一定要注意使用new 申请的内存一定要自己释放,否则就会造成严重的内存泄露)而又不释放,当程序消耗的内存超过操作系统给它分配的内存时,操作系统会强行关闭该程序。下面是我该过之后的程序代码。另外请不要在非客户区绘制东西(我已经做了修改)。


[ 此贴被路客与刀客在2007-11-02 12:28重新编辑 ]
附件: 空闲处理--路客与刀客.rar (43 K) 下载次数:1

顶端 Posted: 2007-11-02 11:50 | [4 楼]
路客与刀客



性别: 帅哥 状态: 该用户目前不在线
等级: 希望之光
家族: 梦魇图腾
发贴: 1980
威望: 0
浮云: 1186
在线等级:
注册时间: 2007-01-02
最后登陆: 2008-06-29

5come5帮你背单词 [ jeans /d3əeinz/ n. 工装裤,牛仔裤 ]


还有为了能看清楚数字的变动,我把空闲处理调用视图的IdleTimeHandler函数的次数降低了,使用下面的语句
Quote:

if (lCount%9999==0)
        ((COnIdleHandlerView*)pWnd->GetActiveView())->IdleTimeHandler(lCount);

当空闲计数器的计数值为9999的倍数时,调用一次视图的IdleTimeHandler函数


[ 此贴被路客与刀客在2007-11-02 12:01重新编辑 ]
顶端 Posted: 2007-11-02 11:54 | [5 楼]
湘D男孩



性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 473
威望: 0
浮云: 1105
在线等级:
注册时间: 2006-09-22
最后登陆: 2008-06-29

5come5帮你背单词 [ conservation /konsə(:)'veiən/ n. 保存,保护,守恒 ]


Quote:
引用第5楼路客与刀客于2007-11-02 11:54发表的  :
还有为了能看清楚数字的变动,我把空闲处理调用视图的IdleTimeHandler函数的次数降低了,使用下面的语句

当空闲计数器的计数值为9999的倍数时,调用一次视图的IdleTimeHandler函数

经过检查,我也发现了,原来是没有及时释放申请的DC,一直霸占系统资源...呵..
谢谢GG的热心解答!!
顶端 Posted: 2007-11-02 12:39 | [6 楼]
musant



性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 104
威望: 0
浮云: 1122
在线等级:
注册时间: 2006-07-30
最后登陆: 2008-06-19

5come5帮你背单词 [ personality /pə:sə'næliti/ n. 人格,个性 ]


cdb可以方便的分析dump文件,也可以用性能监视器,蝈蝈是用vc自带debug发现的?!
没注意到. 呵呵
顶端 Posted: 2007-11-05 13:04 | [7 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.011694(s) query 5, Time now is:11-22 15:03, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号