linux - 是否有 fpsetmask() 的 linux 等价物?

标签 linux centos bsd

我正在将一些 BSD 代码移植到 CentOS,我发现代码中使用了 ieeefp.h 中的标准函数 fpsetmask()。

我还不知道这个函数的行为,但是否有一个 linux 等价物?或者我应该创建一些在 linux 上模拟它的东西吗?

最佳答案

我认为 feraiseexcept() 函数是等效的——有关详细信息,请参阅 its manpage 的“异常处理”小节.

根据 the fpsetmask() manpage ,各个标志的映射如下:

  • FP_X_INV → FE_INVALID
  • FP_X_DZ → FE_DIVBYZERO
  • FP_X_OFL → FE_OVERFLOW
  • FP_X_UFL → FE_UNDERFLOW
  • FP_X_IMP → FE_INEXACT
  • FP_X_IOV → 无,也可能是 FE_OVERFLOW

请记住,这可能仅限于 x87。

关于linux - 是否有 fpsetmask() 的 linux 等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18585644/

相关文章:

php - php Exec将g++错误重定向到文件

smtp - exim 如何在日志文件中显示密码

c++ - BSD 套接字 - 使用发送和接收

linux - 从头开始加固 BSD

linux - grep 在表达式中不使用 0

macos - OS X上的grep -f产生段错误

c - 如何在 c 中为每个函数调用创建新线程

linux - UNIX 中的 splitpcap Windows 工具命令

Linux 替换 : Add spaces between brackets in a file using sed

open-source - GPL 是否要求 RedHat 免费提供其操作系统,因此 CentOS 存在的原因是什么?