私はCプログラム(main()
はC言語)をC++とインターフェース接続しています。私のコードのいくつかの点で、私はプログラムの実行を停止したい。今私は知っている、私はこれをきれいにすることができますか?C/C++を混在させてプログラムを終了するには
私はstd::terminate()
と呼んでいますが、より良いアイデアが不足しています。バグの主なものは私がメモリを解放していないということではない(プログラムの終了時に解放されるためだが)、MSVSジャストインタイムデバッガがポップアップして、私は醜いエラーメッセージを表示するランタイムを異常な方法で終了します。
編集:これは混乱の原因となりました。この場合は、main()
からreturn 0
に戻すことはできません。
exit(0)の何が問題なのですか? –
AFAIK std :: terminateは、異常終了を示すために使用されます(たとえば、キャッチされていない例外がトップレベルに達した場合など)。これによりデバッガがトリガされる可能性があります。 – wintermute
きれいなやり方は、コントロールフローを正しく処理し、標準的な方法(ハンドル、オブジェクト、スレッドの結合など)で終了することです。 'exit(0)'は醜い選択肢です – Bruce