0

我正在使用 GLUI 开发我的第一个应用程序,但遇到了一些问题。我在 Windows 7 机器上使用 Visual Studio 2010 并使用 glui-2.35。我的应用程序在调试模式下构建时运行良好,但在发布模式下构建时崩溃并出现运行时错误。在调试器中,错误来自 glui.cpp 此函数中的最后一条语句:

void GLUI_Master_Object::set_glutReshapeFunc(void (*f)(int width, int height))
{
  glutReshapeFunc( glui_reshape_func );
  add_cb_to_glut_window( glutGetWindow(), GLUI_GLUT_RESHAPE, (void*) f);
}

我不确定为什么发布版本会崩溃;任何建议将不胜感激。

4

1 回答 1

0

我不是 MSVC++ 调试和发布模式方面的专家,但我一直在寻找一些信息,在这个网站上,一些用户谈论它。

其中一个(@mcdeeiis)在此页面中说:

...
In a debug build the complete symbolic debug information is emitted to help while debugging applications and also the code optimization is not taken into account. 
While in release build the symbolic debug info is not emitted and the code execution is optimized.
Also, because the symbolic info is not emitted in a release build, the size of the final executable is lesser than a debug executable.

One can expect to see funny errors in release builds due to compiler optimizations or differences in memory layout or initialization. These are usually referred to as Release...

无论如何,请检查 GLUI 或您的项目所依赖的库是否也已使用发布模式编译。它可能会导致问题。

于 2014-08-20T13:22:12.333 回答