Bìn*_*yên 3 opengl glut freeglut
在我的freeglut项目中,我已经分配了很多内存,当用户关闭freeglut(或过剩)窗口时,我没有办法释放它,任何想法?
FreeGLUT提供了几种解决方案:
您可以拨打glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_CONTINUE_EXECUTION)和glutLeaveMainLoop()使glutMainLoop()函数返回,然后你就可以释放所有你想要之后的内存glutMainLoop()调用.
而不是打电话给glutMainLoop()你可以像这样制作自己的事件循环:
bool running = true;
while (running)
{
glutMainLoopEvent();
}And whenever you want to exit application - just set running variable to false, and free the allocated memory after while loop.
Run Code Online (Sandbox Code Playgroud)或者您无能为力 - 任何现代操作系统在进程终止时都会正确释放所有已分配的内存.当然,如果您需要在终止时做一些特殊的事情 - 比如写入日志文件,发送网络数据包,那么您必须手动执行此操作.