我想杀死我的c ++程序并立即终止而不激活任何类型的析构函数,尤其是静态和全局变量,但我想退出状态0 - abort()对我不起作用.
有没有人有办法解决吗?谢谢
从C++ 11 n3290 - §18.5:
[[noreturn]] void _Exit(int status) noexcept;
Run Code Online (Sandbox Code Playgroud)
程序终止而不执行自动,线程或静态存储持续时间对象的析构函数,并且不调用传递给atexit()的函数
这实际上是在C99中定义的,但实际上它适用于大量的C++ 11之前的实现.
使用:
#include <cstdlib>
#include <iostream>
struct test {
~test() {
std::cout << "Goodbye world" << std::endl;
}
};
int main() {
test t;
_Exit(0);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1199 次 |
| 最近记录: |