2010-02-18 46 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

相關問題