我正在用C++連接一個C程序(main()
用C語言)。在我的代碼中的某些點上,我想停止執行該程序。現在我想知道,我該如何幹淨地做到這一點?如何用混合C/C++乾淨地退出程序
目前我打電話給std::terminate()
,但更多的是缺乏更好的想法。錯誤的主要原因是我沒有釋放內存(因爲它在程序終止時無論如何都是釋放的,對吧?)但是MSVS即時調試器彈出,我得到一個醜陋的錯誤消息以不尋常的方式終止運行時。
編輯:由於這造成了混淆:從main()
與return 0
返回在這種情況下是不可能的。
'exit(0)'有什麼問題? –
AFAIK std :: terminate用於指示異常終止(例如,當未捕獲的異常達到頂級時)。這可能會觸發調試器。 – wintermute
乾淨的方法是正確處理控制流並以標準方式退出(釋放句柄,對象,加入線程等)。 'exit(0)'是一個醜陋的選擇 – Bruce