最近在做一个关于移植的工作。
我遇到了这样的问题:
一些Windows API,例如_clearfp()、_statusfp()等,在Linux中找不到相应的函数。
所以我来这里寻求帮助。
您需要一个 POSIX 系统,或者一个支持 C99 标准附录 F 的 C99 编译器。您可以通过检查宏是否支持来测试是否支持Annex F__STDC_IEC_559__
被定义为。相关函数可以在<fenv.h>
.
int feclearexcept(int excepts); // clears exceptions (returns 0 on success)
int fetestexcept(int excepts); // returns exceptions that are set
异常传入为excepts
,并由返回fetestexcept
, 是一个位掩码,可以针对以下宏进行测试:
FE_DIVBYZERO
FE_INEXACT
FE_INVALID
FE_OVERFLOW
FE_UNDERFLOW
FE_ALL_EXCEPT
最后一个宏,FE_ALL_EXCEPT
, 只是其上方所有宏的按位或。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)