我正在用C++连接一个C程序(main()
用C语言)。在我的代码中的某些点上,我想停止执行该程序。现在我想知道,我该如何干净地做到这一点?如何用混合C/C++干净地退出程序
目前我打电话给std::terminate()
,但更多的是缺乏更好的想法。错误的主要原因是我没有释放内存(因为它在程序终止时无论如何都是释放的,对吧?)但是MSVS即时调试器弹出,我得到一个丑陋的错误消息以不寻常的方式终止运行时。
编辑:由于这造成了混淆:从main()
与return 0
返回在这种情况下是不可能的。
'exit(0)'有什么问题? –
AFAIK std :: terminate用于指示异常终止(例如,当未捕获的异常达到顶级时)。这可能会触发调试器。 – wintermute
干净的方法是正确处理控制流并以标准方式退出(释放句柄,对象,加入线程等)。 'exit(0)'是一个丑陋的选择 – Bruce