gpt4 book ai didi

c++ - 安全段错误?

转载 作者:太空狗 更新时间:2023-10-29 23:50:25 26 4
gpt4 key购买 nike

在我的简单游戏中,有一个线程在屏幕上绘图。当我按下 ESC 键时,我让我的程序抛出一个退出信号作为异常。每当捕获到此异常时,都会调用清理函数并退出程序。这种“预期的”段错误发生在未完成屏幕绘制时调用清理函数时,因此绘制线程有些孤立。我的 Ubuntu Linux 操作系统似乎可以安全地处理这个问题并且不会崩溃,尽管它告诉我一个段错误。你觉得就这样放着好吗?如果不是,我可能会面临什么样的严重问题?我只是对在这种情况下系统内部发生的事情有点兴趣。

最佳答案

据我了解,主线程正在释放绘图线程使用的内存,而没有任何形式的同步,即主线程可以在绘图线程正在写入时释放该内存。

这不安全,您绝对不应该那样离开。主线程上的退出处理程序应该停止绘图线程,或者等待它完成,然后才释放内存。

正如您所描述的,您的代码具有未定义的行为。请注意,按预期工作是未定义行为的一种有效形式——但这并不意味着它将始终按预期工作。任何事情都有可能发生。

关于c++ - 安全段错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30480818/

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