C++ 11 이상에서는 std::quick_exit
을 호출하여 프로세스를 끝내지 않고 종료 할 수 있습니다. 즉, 소멸자가 호출되지 않습니다. [after | 동안] std::quick_exit
.C++ 98에서 풀어 내지 않고 프로세스를 종료하는 방법은 무엇입니까?
내가 프로젝트가 :
- 그것은 전역 객체를 가지고 있으며, 전역 객체의 소멸자에서 치명적인 버그가;
- 전역 개체의 원본에 액세스 할 수 없습니다.
main
의 마지막 줄에std::quick_exit
을 호출 할 수 있으면 버그가 트리거되지 않습니다.- 어떤 이유로 프로젝트는 C++ 98 컴파일러로 컴파일해야합니다. 즉, 나는
std::quick_exit
을 C++ 98 컴파일러에서 호출 할 수 없다. 한마디로
:
어떤 기능을 C++ 98은 C++ (11)의 std::quick_exit
에 해당?
Windows에서는 ExitProcess(0)
으로 전화하여 강제로 아무런 정리 작업없이 프로세스를 종료 할 수 있습니다.
Linux에서 해당 항목은 무엇입니까?
'_exit()'를 시도하십시오. 그것은 pre-C++ 11 표준에 대해 명확하게 문서화되어 있지 않지만, 이것은 또한 전역 소멸자를 우회해야합니다. – Rene