1
我有一個使用Intel MKL(靜態鏈接)編寫的用Fortran編寫的庫。我正在使用ifort進行編譯和鏈接。
當我使用-fpe0選項將我的庫(動態)與其他代碼鏈接起來時,我在MKL中獲得了浮點異常,這似乎是英特爾公認的事情,無需擔心。我認爲這是由於一些投機性的處決。
但是,當其他人使用我的庫時,他們可能會嘗試使用-fpe0將他們的代碼鏈接到我的庫,這可能會導致麻煩。所以我想知道:有沒有什麼辦法可以在運行時關閉FPE處理程序,然後進入我的庫並在返回時將其恢復到原始狀態?
謝謝!在Fortran運行時禁用FPE處理程序
檢查'ieee_exceptions'內在模塊。從來沒有使用它,所以我只是評論。 – 2015-03-19 09:42:42
謝謝你的作品。應該提到的是,使用gfortran至少需要4.10版本。 ifort支持它至少從v12開始(沒有舊版本用於測試...) – fpnick 2015-03-19 14:21:20
你可以發佈詳細信息作爲答案嗎?它可能對其他人有用。 – 2015-03-19 14:39:29