我有一个析构函数,即使程序不正确地终止以确保外部进程死亡,也需要调用析构函数。退出或程序结束时执行函数
目前我已经注册要调用的析构函数
std::atexit(killprocess);
std::at_quick_exit(killprocess);
然而,这意味着该方案已完成,但没有终止时,进程没有中止。有什么方法可以确保killprocess或析构函数在退出或程序完成但未终止时调用?
编辑:完成但未终止的状态来自visual studio,在最后添加了等待条件。我相信这意味着注册kill process与atexit进程析构函数并不是在执行时自然被调用
“完成但未终止”是什么意思?你的意思是'main'返回和过程实际结束之间的时间? –
调用killprocess作为主要的最后一行 –
如果我理解问题正确[std :: at_exit](http://en.cppreference.com/w/cpp/utility/program/atexit)实际上正在做你想做的事情: '注册func指向的函数,在正常程序终止时(通过std :: exit()或从主函数返回)调用''。 –