2010-02-18 56 views
1

在Visual C++中调用terminate()时,默认行为是调用abort(),默认显示消息框,然后按消息框上的确定按钮后 - 终止应用程序。 “显示消息框”部分对于那些必须在没有人工交互的情况下工作的程序来说并不是很好,因为程序只是挂起,直到按下按钮。如何在VC++ 7及更早版本中模拟_set_abort_behavior?

在VC++ 8中微软推出的_set_abort_behavior()函数可以在应用程序启动时调用,并且禁止在abort()中显示消息框。

如何在VC++ 7及更早版本中实现相同?我可以编写自定义的terminate()处理程序,但是在其中调用的最佳操作是什么,以便程序以与abort()相同的方式终止,但没有消息框?

+0

我们这里的操作系统是否独立? – ChrisBD 2010-02-18 14:12:08

+0

@ChrisBD:消息框的问题特定于VC++。我从来没有听说过除Windows以外的任何地方运行VC++运行时。 – sharptooth 2010-02-18 14:29:54

回答

2

调用操作系统的进程终止函数。 Windows上的TerminateProcess()。

+0

+1 - nobugz。如果一个过程立即死亡,那么这是一个很好的例子。不建议如果你希望它以一种整洁的方式死亡。 – ChrisBD 2010-02-18 14:36:14

相关问题