[英]how to abort a c++ program and exit with status 0?
我想殺死我的c ++程序並立即終止而不激活任何類型的析構函數,尤其是靜態和全局變量,但我想退出狀態0 - abort()
對我不起作用。
有沒有人有辦法解決嗎? 謝謝
也許_exit(0);
你正在尋找什么?
這是閱讀它的手冊頁 。
從C ++ 11 n3290 - §18.5:
[[noreturn]] void _Exit(int status) noexcept;
程序終止而不執行自動,線程或靜態存儲持續時間對象的析構函數,並且不調用傳遞給atexit()的函數
這實際上是在C99中定義的,但實際上它適用於大量的C ++ 11之前的實現。
采用:
#include <cstdlib>
#include <iostream>
struct test {
~test() {
std::cout << "Goodbye world" << std::endl;
}
};
int main() {
test t;
_Exit(0);
}
來自stdlib.h
_Exit(0)
怎么樣? (演示: http : //ideone.com/ecCgC )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.