SO是一场狗屎秀。感谢您的搭车。
只需调用
_exit()
,即可在 Linux 和 Windows 上使用。它不会像 abort()
那样产生核心转储。
编辑:如果
_exit()
对您来说不够好,您可能必须针对特定平台。
TerminateProcess()
,据我所知,这是杀死 Windows API 公开的进程的最有力/最直接的方法(尽管如果有更强有力的方法,我很乐意了解一下)。
在 Linux 上,提高
SIGKILL
可能会更好,正如 Jeffery Thomas 建议的那样。我实际上不知道SIGKILL
是否比
_exit()
更有力/更直接。这两种方法都是异步的。
TerminateProcess(GetCurrentProcess(),0)
_exit()
。这将立即终止您的程序。
abort()
函数,或在 C++ 中调用
std::terminate
。(
terminate
也是 Visual C++ 中的 C 函数,但它是非标准的。)
_Exit
(注意:大写
E
)被指定为 §18.5/3
如果您希望执行可能的处理程序,那么您可以调用” 程序终止,不执行自动、线程或对象的析构函数 静态存储持续时间并且不调用传递给
的函数atexit()
std::quick_exit
,它会调用已注册的处理程序,然后调用
_Exit
。