| 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 的浮点内核),重新初始化
函数原型:
头文件:
#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;
} |
兼容性:
相关链接:
• _finite • _isinf • _isnan • _fpclass • _control87 • SetExceptionMask • _matherr • 浮点数异常处理
|
|
|
|