最近,我正在做关于移植的工作。我遇到了这样一个问题:一些Windows API,如_clearfp()、_statusfp()等,在Linux中找不到对应的函数。
所以我在这里寻求帮助。
最近,我正在做关于移植的工作。我遇到了这样一个问题:一些Windows API,如_clearfp()、_statusfp()等,在Linux中找不到对应的函数。
所以我在这里寻求帮助。
您将需要一个 POSIX 系统或支持 C99 标准附件 F 的 C99 编译器。__STDC_IEC_559__
您可以通过检查是否定义了宏来测试是否支持附件 F。相关功能可在 中找到<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
只是它上面所有宏的按位或。