feupdateenv
保存当前引发的浮点异常,还原指定的浮点环境状态,并引发已保存的浮点异常。
语法
int feupdateenv(
const fenv_t* penv
);
参数
penv
指向 fenv_t
对象的指针,其中包含通过调用 fegetenv
或 feholdexcept
设置的浮点环境。 此外,也可使用 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> |
有关兼容性的详细信息,请参阅 兼容性。