Share via


feholdexcept

將目前的浮點環境儲存在指定的物件中、清除浮點狀態旗標,以及可能的話,將浮點環境放入連續模式中。

語法

int feholdexcept(
   fenv_t *penv
);

參數

penv
fenv_t 物件的指標,包含浮點環境複本。

傳回值

如果且只有在函式能夠順利開啟連續浮點例外狀況處理時,才傳回零。

備註

feholdexcept 函式用來將目前浮點環境的狀態儲存在由 penv 指向的 fenv_t 物件中,並將環境設定為不會因浮點例外狀況而中斷執行。 此模式稱為 非停止模式 。 此模式會繼續執行,直到使用 fesetenvfeupdateenv 還原環境為止。

您可以在需要隱藏呼叫端一或多個浮點例外狀況的副程式開頭使用此函式。 若要報告例外狀況,您可以使用 清除不必要的例外 feclearexcept 狀況,然後使用 呼叫 feupdateenv 結束非停止模式。

若要使用此函式,您必須在呼叫之前使用 #pragma fenv_access(on) 指示詞,以關閉可能會妨礙存取的浮點最佳化作業。 如需詳細資訊,請參閱fenv_access

需求

函式 C 標頭 C++ 標頭
feholdexcept <fenv.h> <cfenv>

如需相容性詳細資訊,請參閱相容性

另請參閱

字母函數參考
feclearexcept
fesetenv
feupdateenv