作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
最近在做移植方面的工作。我遇到了这样一个问题:一些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
, 只是它上面所有宏的按位或。
关于linux - Linux中有没有类似_clearfp()和_statusfp()的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16849009/
我是一名优秀的程序员,十分优秀!