C++ Builder: EInvalidOp -- 'floating point operation' 原因及解决方法
Posted on 2010-03-24 19:50 Harry Huang 阅读(1025) 评论(0) 编辑 收藏 举报由于需要安装了C++ Builder 5.0,同时遇到了一个EInvalidOp -- 'floating point operation'的异常。
在查询后得知:MS和Borland处理浮点数方式不同导致,MS默认忽略浮点异常,Borland则不会。
解决方法很简单,在代码初始化的地方加入以下代码:
_control87(MCW_EM, MCW_EM); /* defined in float.h */
该文件需要#include "float.h"
该函数禁用Borland浮点异常
作者:Harry Huang
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利.