【发布时间】:2014-07-17 04:35:53
【问题描述】:
我正在使用 allegro 游戏库制作一个项目,当在游戏中单击 x 按钮时 将调用一个函数,然后我可以执行 std::exit(0) 或 allegro "allegro_exit()" 的内置退出函数,但我的程序无法正常退出,它仍然打开但没有响应,因为我没有'不从主函数返回。
如果我有的话,唯一的机会是在主函数中执行一个 while 循环,当未单击 x 按钮时执行某些操作,循环完成后,我通常可以从主函数返回,
但是我不认为 while 循环是个好主意,它不适合我的程序。
有没有机会以另一种方式做到这一点?
【问题讨论】:
-
std::exit可能会运行已被挂钩的处理程序。要真正退出而不做任何其他事情,您可以转到std::signal(SIGABRT, SIG_DFL); std::abort();。恕我直言,这并不是一个好主意,最好是优雅地return。 -
听起来像是 XY 问题。