【发布时间】:2013-03-09 19:19:11
【问题描述】:
在尝试开发自己的游戏引擎时,我最终遇到了在处理 WINAPI 时无法解决的问题:我的游戏窗口显示在调试版本中,但不在发布版本中。在我关闭命令行后,进程本身也会一直挂起。
这很奇怪,因为代码没有任何变化。代码保持不变,调试和发布版本具有默认设置(不包括库链接)。
如果时间不长,我会发布一些代码。我使用 pimpl-idiom 使我的类界面更加干净和跨平台。我不知道这是否与此有关。我唯一的猜测是优化可能会导致一些问题,但我对此表示怀疑。这个问题怎么解决?
【问题讨论】:
-
有可疑代码吗?
-
发现问题:优化。各种优化破坏了功能,窗口不会出现。逆天。它们有什么问题(我的编译器是 GCC 4.6,我使用 Code::Blocks IDE)?
-
好吧,如果可能的话,用VS2012试试吧……它真的让事情变得更容易了。
-
͡° ͜ʖ ͡° 确定它的跨平台功能吗?
-
没有看到任何代码我只能猜测,但我会说你被 undefined behavior 咬了。