主页C++ Builder 资料C++ Builder 参考手册cfloat 浮点数_fpreset
C++ Builder 串口控件
C++ Builder 编程技巧
C++ Builder 操作指南
C++ Builder 参考手册
基础知识
cfloat 浮点数
 • 浮点数类型
 • 浮点数异常处理
 • _finite, _finitel
 • _isinf, _isinfl
 • _isnan, _isnanl
 • _fpclass, _fpclassl
 • _chgsign, _chgsignl
 • _copysign, _copysignl
 • _logb, _logbl
 • _scalb, _scalbl
 • _nextafter, _nextafterl
 • _clear87, _clearfp
 • _control87, _controlfp
 • _status87, _statusfp
 • _fpreset
cmath 数学函数
cstdlib 标准库函数
System 字符串
System 日期和时间
System.Math.hpp 数学函数
其他数据类型
VCL 基础类
VCL 应用程序
Pictures 图片
Graphics 绘图
Additional 控件
System 控件
A ~ Z 字母顺序排列的目录
网友留言/技术支持
_fpreset - 复位 x87 (x86 的浮点内核),重新初始化

_fpreset:复位 x87 (x86 的浮点内核),重新初始化

函数原型:

void _fpreset(void);

头文件:

#include <cfloat>

命名空间:

std

参数:

返回值:

当执行 exec... 或 spawn... 函数之后,如果子进程改变了浮点内核参数,或者产生了异常,可以用 _fpreset 来复位。

例子:

这是帮助里面的例子,没有测试效果

int safe_fpu_exec(wchar_t* program)
{
  /* Spawn another process with NOWAIT flag */
  int pid = _wspawnl(P_NOWAIT, program, NULL);
  int exitCode;

  /* Check for error */
  if (pid == -1)
      return -1;

  /* Wait for the application to finish */
  cwait(&exitCode, pid, 0);

  /* Reset the FPU state since the child process might have altered it */
  _fpreset();

  return exitCode;
}

兼容性:

函数 \ C++ Builder 编译器 bcc32 clang32 clang64
_fpreset  

相关链接:

_finite_isinf_isnan_fpclass_control87SetExceptionMask_matherr浮点数异常处理

◤上一页:_status87, _statusfp

C++ 爱好者 -- Victor Chen 的个人网站 www.cppfans.com 辽ICP备11016859号