closuresc ++控制台应用程序时会发生什么?

我想这个问题说了这一切,但是,如果有人closures一个c + +控制台应用程序会发生什么? 如在,点击顶部的“X”。 它是否立即closures? 它会抛出某种exception吗? 它是不确定的行为?

使用顶部的“x”closuresc ++控制台应用程序会引发一个CTRL_CLOSE_EVENT ,如果您使用SetConsoleCtrlHandler函数设置控件处理程序,则可以捕获并处理它。 在那里,你可以重写closuresfunction,并执行你想要做的任何事情,然后可选地仍然执行默认行为。

我想象一下,控制台进程被操作系统毫不客气地杀死。 如果你想要捕获这个事件并做一些事情,像SetConsoleCtrlHandler函数是这样做的。

也可以看看:

  • 如何在命令行界面中处理ctrl-break信号
  • 控制台事件处理

在Linux和其他Unix系统上,控制台作为一个单独的进程运行。 在closuresshell时,它会将SIGHUP信号发送到当前活动的一个或多个在后台不执行的进程。 如果程序员不处理它,这个过程就会终止。 如果用terminal和活动进程closuresSSH会话,则会发送相同的信号。

SIGBREAK在Windows上引发。

  • 为什么我总是用rand()得到相同的随机数序列?
  • 菜单,工具栏,堆栈面板等中的垂直分隔符控制 – 有可能吗?
  • 在C ++中将文件内容读入一个string
  • 如何清除ostringstream
  • 激活TabControl的tabpage
  • 使用Ping时蓝屏
  • EXIT_FAILURE vs exit(1)?
  • Light C Unicode库
  • 我如何比较(目录)在C#中的path?
  • NHibernate.MappingException:没有persister:XYZ
  • 有没有可能在您的web.config中指定代理凭据?