是否有跨平臺的方式來處理CPU異常,如分段錯誤或零除?比方說,我需要調用一些潛在的不安全函數(例如來自插件文件),這可能會導致段錯誤,或者其他一些我在執行之前無法測試的問題。我知道,C標準庫具有信號處理功能,但我不知道如何使用它們來處理問題,以避免程序終止(我猜,我不能只是跳到有問題的函數執行之前的位置,還是我可以?)。 在windows下,我可以使用SEH異常處理程序,但是我無法在Linux或任何其他操作系統下執行此操作。如何使用我自己的異常處理程序來處理這些問題,Windows/Linux之間的差異有多大?這甚至可能(通過彙編 - 可以說只是在x86平臺上)?在C++中處理CPU異常
我主要是出於好奇而問,我沒有試圖解決一個存在的問題(但)。 謝謝
這可能是有趣的:http://stackoverflow.com/questions/4747934/c-catch-a-divide-by-zero-error – 2011-01-25 15:24:22
而在一個段錯誤的情況下,你不能做任何事情,我必須承認除數爲零,溢出和下溢的情況總是讓我感到困惑,能夠抓住它們會很好。 – 2011-01-25 16:23:08