gpt4 book ai didi

c++ - 在主函数之外退出程序

转载 作者:行者123 更新时间:2023-11-28 06:46:59 25 4
gpt4 key购买 nike

我正在用 allegro 游戏库制作一个项目,当在游戏中单击 x 按钮时将调用一个函数,然后我可以执行 std::exit(0) 或 allegro 的内置退出函数“allegro_exit()”,但我的程序不会很好地退出,它仍然会打开但没有响应,因为我没有' 从主函数返回。

如果我有的话,唯一的机会是在主函数中做一个 while 循环,当 x 按钮没有被点击时执行一些事情,循环完成后我通常可以从主函数返回,

但是我不认为 while 循环是个好主意,它不适合我的程序。

有没有可能以其他方式做到这一点?

最佳答案

std::exit() 函数执行所有必要的清理并以正常方式终止程序。如果您的程序死机并且没有响应,请考虑仔细检查负责资源释放的代码(析构函数等)。一些库可以以某种奇怪的方式对退出函数使用react,因此请考虑这种情况。您可以阅读有关 std::exit() here 的更多信息.

不要将 std::abort() 用于正常的程序终止,因为它的目的不是用于此目的,而且它不会在您的应用程序之后进行清理。

无论如何,我建议您检查项目的架构,并在所有清理后返回到 main 函数。 while 循环是可以的,因为它必须存在于某处以等待用户输入。

关于c++ - 在主函数之外退出程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24794965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com