背入式动态图:OpenGL内存泄漏之主循环函数glutMainLoop() - 阿荣的技术专栏 - CS...

来源:百度文库 编辑:九乡新闻网 时间:2024/04/25 16:47:35
首页 资讯 研发 移动 云计算 空间 学生 论坛 博客 下载 网摘 程序员 外包 书店 CTO俱乐部 TUP 培训充电 高校club
阿荣的技术专栏
条新通知 登录 注册 欢迎 退出 我的博客 配置 写文章 文章管理 博客首页   全站 当前博客  空间 博客 好友 相册 留言 用户操作
[留言]  [发消息]  [加为好友] 
ronggang175ID:ronggang175共872次访问,排名2万外
ronggang175的文章
原创 5 篇
翻译 0 篇
转载 0 篇
评论 0 篇
订阅我的博客
    
 
 
 
[编辑]ronggang175的公告
[编辑]文章分类
OpenGL程序开发
Windows驱动程序开发
Windows应用程序开发
存档
2010年12月(2)
2009年11月(3)
公告: 2011年4月微软MVP申请开始啦!有兴趣的抓紧时间哦! [意见反馈][官方博客]   OpenGL内存泄漏之主循环函数glutMainLoop() 收藏
      在Win32控制台程序中,标准的OpenGL流程是这样的:
int main(int argc, char *argv[])
{  glutInitWindowSize(500, 250);
  glutInitWindowPosition ( 140, 140 );
  glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE );
  glutInit(&argc, argv);  glutCreateWindow( "Demo" );  glClearColor(1.0, 1.0, 1.0, 1.0);  glutDisplayFunc( Display );
  glutReshapeFunc( Reshape );  glutMouseFunc ( Mouse ) ;
  glutMotionFunc ( Motion ) ;  glutKeyboardFunc( Key );  glutMainLoop();  return 0; }而在MFC的对话框程序中,使用这样的流程,可能会出现内存的泄漏的问题,究其原因,是因为glutMainLoop()  阻断了系统的正常流程,在关闭glutCreateWindow()创建的窗口后,glutMainLoop()直接用exit(0)退出程序,而不会继续执行glutMainLoop()后的语句,这就使一些类的释放及资源回收工作无法进行,从而造成内存泄漏。纠正此问题,有3个办法:1、使用glutLeaveMainLoop()代替glutMainLoop()。2、处理代码中exit(0)的部分。 3、在glutMainLoop之前先设置: glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_GLUTMAINLOOP_RETURNS); 然后再用glutMainLoop();则 glutMainLoop()会在退出后,继续执行其后的代码。
使用以上方法,可以有效处理glutMainLoop()造成的内存泄漏!发表于 @ 2010年12月10日 23:00:00 | 评论( 0 ) | 编辑| 举报| 收藏 旧一篇:OpenGL内存泄漏之初始化函数glutInit()
查看最新精华文章 请访问博客首页相关文章 发表评论 表 情:           评论内容:  用 户 名: 登录 注册 匿名评论 匿名用户验 证 码:   重新获得验证码    热门招聘职位【开心网】高薪诚聘各类技术人才千万美元风投网站高薪诚聘PHP工程师【EF 全球研发中心】赴美工作机会 诚招IT精英【鸿联九五】高薪诚聘手机游戏服务器程序 期待热爱游戏的你加盟【MediaV】技术类职位热招,欢迎应届毕业生【北京天健科技】诚聘.net架构师,高级软件开发工程师(.net , Powerbuilder)【叠拓】北欧领先IT服务公司诚聘英才 北京+成都+杭州【瀚信科技】诚聘 WINDOWS C++ WINDOWS C#中高级开发工程师【酷我音乐盒】高薪诚聘 激情爱好工作融为一体【网路时代】高薪诚聘C++、.net开发工程师【天际网】急聘Java应用架构师、高级Java工程师、网页设计师【达内集团】高薪诚聘JAVA讲师.嵌入式讲师.3G讲师.技术总监.分公司总经理 【开心网】高薪诚聘各类技术人才千万美元风投网站高薪诚聘PHP工程师【EF 全球研发中心】赴美工作机会 诚招IT精英【鸿联九五】高薪诚聘手机游戏服务器程序 期待热爱游戏的你加盟【MediaV】技术类职位热招,欢迎应届毕业生【北京天健科技】诚聘.net架构师,高级软件开发工程师(.net , Powerbuilder)【叠拓】北欧领先IT服务公司诚聘英才 北京+成都+杭州【瀚信科技】诚聘 WINDOWS C++ WINDOWS C#中高级开发工程师【酷我音乐盒】高薪诚聘 激情爱好工作融为一体【网路时代】高薪诚聘C++、.net开发工程师【天际网】急聘Java应用架构师、高级Java工程师、网页设计师【达内集团】高薪诚聘JAVA讲师.嵌入式讲师.3G讲师.技术总监.分公司总经理  公司简介|招贤纳士|广告服务|银行汇款帐号|联系方式|版权声明|法律顾问|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
江苏乐知网络技术有限公司 提供商务支持
 Email:webmaster@csdn.net
Copyright © 1999-2010, CSDN.NET, All Rights Reserved  本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/RONGGANG175/archive/2010/12/10/6068854.aspx
OpenGL内存泄漏之主循环函数glutMainLoop() - 阿荣的技术专栏 - CS... VC内存泄漏检测工具_Visual Leak Detector - seawen的专栏 -... 对象内存池技术 - ShaHuShaBoJue的专栏 - CSDN博客 VC++ 6.0 中如何使用 CRT 调试功能来检测内存泄漏(转) - bairny的专栏... Flash函数大全之五. 条件/循环 几种典型的Java内存泄漏 浅谈C++中内存泄漏的检测 基于VC++的OpenGL编程讲座之坐标变换 SQL SERVER 数值类型的存储格式及转换 - misterliwei的专栏 - CS... Google的开源C++单元测试框架Google Test初探 - 常高伟的专栏 - CS... 生命之水的循环 从头开始编写操作系统(3) 第2章:基本理论 - xiaoxiaoyaya的专栏 - CS... java 实现中英文混时得到长度 过长字符替换 - tianwaishan的专栏 - CS... 防范JAVA内存泄漏解决方案 变参函数的实现 - 菜鸟的专栏 - CSDN博客 pthread_join函数及linux线程 - jxxfqyy的专栏 - CSDN博客 scanf()函数用法小结(转载) - SecularBird的专栏 - CSDN博客 循环经济之牛粪种植双孢菇-食用菌技术- cpu如何知道内存中一条指令的大小从而使cs:ip寄存器更改自己的值 大型机学习之具体技术之-JCL练习(四)-特殊的DD语句 - wang_pc的专栏 - C... 大型机学习之具体技术之-JCL练习(四)-特殊的DD语句 -的专栏 - C... 循环冷却水技术 javascript和ActiveX的交互问题 .NET技术 / ASP.NET - CS... linux进程/内存管理的数据结构之