Share via


feupdateenv

儲存目前引發的浮點例外狀況、還原指定的浮點環境狀態,然後引發儲存的浮點例外狀況。

語法

int feupdateenv(
   const fenv_t* penv
);

參數

penv
fenv_t物件的指標,其中包含呼叫 或 feholdexceptfegetenv 設定的浮點環境。 您也可以使用 FE_DFL_ENV 宏來指定預設啟動浮點環境。

傳回值

如果順利完成所有動作,則傳回 0。 否則,它會傳回非零值。

備註

feupdateenv 函式會執行多個動作。 首先,它會將目前引發的浮點例外狀況狀態旗標儲存在自動儲存體中。 然後,它會從儲存在由 penv 指向之 fenv_t 物件的值中,設定目前的浮點環境。 如果 penv 不是 FE_DFL_ENV 或未指向有效的 fenv_t 物件,則後續的行為為未定義。 最後,feupdateenv 引發儲存在本機的浮點例外狀況。

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

需求

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

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

另請參閱

fegetenv
feclearexcept
feholdexcept
fesetexceptflag