提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
目前控制台发现关闭控制台窗口后,无法进入析构函数,因为按照网上说法,a.exec和程序是分开的,你关闭控制台窗口,只是退出exec,但是并没有结束程序,所以不会进程序析构;但是参考win32控制台程序退出案列,发现通过捕捉信号,可以实现资源回收。
提示:以下是本篇文章正文内容,下面案例可供参考
一、原理和环境
因为关闭控制台程序一般有两种方法,一是直接点击关闭按钮,一个是按ctrl+c结束,可以考虑拦截信号,在信号中处理,目前测试析构函数进了,linux和windows都测试了,具体情况如下:(windows-Qt5.9.7(qtcreator为4.7.1),linux(ubuntu20.0.4)为qt5.9.9)
二、使用步骤
1.核心代码如下:
代码如下(示例):
总结
Linux下没有异常,和预期一样,但是windows下直接关闭窗口写入quit失败,文件创建成功,具体原因未知