2012-11-03 29 views
2

問題是 - 我必須用setjmp和longjmp實現我自己的退出(狀態)。也許有人可以提供一些指針?我用setjmp退出(狀態)un longjmp

+2

[你有什麼嘗試?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) –

+0

@JoachimPileborg我沒有嘗試過任何東西,因爲只允許的實現是setjmp/longjmp和我真的不能想象如何從這些功能創建解決方案。那麼我所做的是,我在內核源代碼搜索退出實現,但有很多東西可能做同樣的事情,但用不同的方法。 (更確切地說,我在看_exit()) –

+0

您可能想閱讀:http://stackoverflow.com/q/1733649/694576 – alk

回答

3

我現在想到的唯一解決方案,是調用setjmpmain早,然後創建一個MyExit功能,做了longjmpsetjmpmain和做了return一些值(從longjmp通話提供) 。

+0

這看起來像一個有效的解決方案,我沒有注意到,我可以把主函數中的宏。這可能是我可以在跳回時將setjmp和控制返回的地方。謝謝。 –

+0

你在說什麼宏? – Barmar

+0

@Barmar預處理器命令:http://gcc.gnu.org/onlinedocs/cpp/Macros.html –