开启/关闭浮点数异常报错

ZC: Delphi7 中的报错信息为(主要信息):"Invalid floating point operation"

1、http://bbs.csdn.net/topics/391070674  (LongWord($133f)这句是什么意思-CSDN论坛.html)

  2楼:

这个应该用_control87或者_controlfp
#include <float.h>
_control87(0x133f, 0xffff);
至于LongWord($133f)这是没有什么意义的,LongWord($133f)=$0000133f,32位无符号整数,仅此而已。

  4楼:

// Default value (with exceptions) is 0x1372.这个注释是错的,默认值是0x1332。
Set8087CW是Delphi RTL函数,C++中最好还是用_control87或者_controlfp。

2、官方资料:

  2.1、Set8087CW (C++) - RAD Studio Code Examples.html  (http://docwiki.embarcadero.com/CodeExamples/XE8/en/Set8087CW_%28C%2B%2B%29

Description

This example accesses the Floating Point Unit (FPU) control register. Try turning floating point exceptions off and on and dividing a number by zero to test it.

Code

Word Saved8087CW;
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Edit3->Text = FloatToStr(StrToFloat(Edit1->Text) / StrToFloat(Edit2->Text));
}
 
void __fastcall TForm1::RadioGroup1Click(TObject *Sender)
{
  if (RadioGroup1->Items->Strings[RadioGroup1->ItemIndex] == "FPU Exceptions")
	System::Set8087CW(Saved8087CW);
  if (RadioGroup1->Items->Strings[RadioGroup1->ItemIndex] == "No FPU Exceptions")
	System::Set8087CW(0x133f); // Disable all fpu exceptions.
}
 
__fastcall TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
{
  RadioGroup1->Items->Add("No FPU Exceptions");
  RadioGroup1->Items->Add("FPU Exceptions");
  RadioGroup1->ItemIndex = 2;
  Saved8087CW = Default8087CW;  // Save this, because Set8087CW changes it.
}
 
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
  System::Set8087CW(Saved8087CW); // Default value (with exceptions) is 0x1372.
}

Uses

See Also

Categories:

3、

4、

5、

时间: 2024-11-05 17:25:46

开启/关闭浮点数异常报错的相关文章

【php】开启与关闭调试与报错信息

开启调试与报错信息有利于编程人员掌握出错的位置,从而更快地解决问题. 关闭调试信息,则在你的网页发布时候,用户看不到你的php出现运行错误,当然也不会看到正确东西,仅仅会是一篇空白. 关键是在php安装之后,忘记开启调试与报错信息,在你编程的时候写错代码,却发现php没有报错,会产生一头雾水,此时你要关注你的php安装目录下的php.ini 如下图,找到display_errors那行,注意把Off,改成On,On的第一个字母注意大写.反之亦然. 同时,重启一下你的 Apache服务器. 此时你

表空间正在热备份时关闭实例重启报错的重现和解决

最近一个客户的库在OPEN时报错需要恢复,发现原因为当时一个表空间正在热备份-->ALTER TABLESPACE TEST1 BEGIN BACKUP;  然后实例异常关闭(可能为ABORT或KILL SMON等进程,这里据说为存储直接关闭导致),然后重启时遇到此错误. 在ORACLE 10.2.0.1及11.2.0.4版本中重现了此错误,在这两个版本中同样的情况但是报错信息不太一样,具体情况如下: 10.2.0.1.0 版本表空间正在热备份时关闭实例重启报错的重现和解决: SQL> sel

Python基础中所出现的异常报错总结

今天我们来探索python中大部分的异常报错 首先异常是什么,异常白话解释就是不正常,程序里面一般是指程序员输入的格式不规范,或者需求的参数类型不对应,不全等等. 打个比方很多公司年终送苹果笔记本,你程序话思维以为是(MAC)电脑笔记本,结果给你个苹果+笔记本...首先类型不对,数量也不对. 先来看几个常见的报错如下: NameError 命名错误 原因是: name 'a' is not defined  命名a还未定义 简单来说就是程序不知道a带表谁 如果a=1 那程序就懂了 a代表1 所以

【Hadoop】9、hadoop1.2.1完全分布式安装过程异常报错

异常报错 1.ssh配置出错,ssh登录 The authenticity of host 192.168.0.xxx can't be established. 用ssh登录一个机器(换过ip地址),提示输入yes后,屏幕不断出现y,只有按ctrl + c结束 错误是:The authenticity of host 192.168.0.xxx can't be established. 以前和同事碰到过这个问题,解决了,没有记录,这次又碰到了不知道怎么处理,还好有QQ聊天记录,查找到一下,找

recycleview异常报错

rcycleview异常报错 05-07 14:29:49.924: E/MessageQueue-JNI(16160): java.lang.NullPointerException 05-07 14:29:49.924: E/MessageQueue-JNI(16160): at android.support.v7.widget.RecyclerView.computeVerticalScrollOffset(RecyclerView.java:1613) 05-07 14:29:49.9

Thinkphp3.2.3关于开启DEBUG正常,关闭DEBUG就报错模版无法找到

这是Thinkphp3.2.3的一个坑- 具体原因也没搞清楚,测试环境都是好的,线上就出问题,是因为线上debug是关闭的 具体原委特此记录: 现象:(打开DEBUG就正常了,所以界面看不到具体报错滴-) 排查思路: php-fpm_error.log也没有明显报错 nginx.access.log报错404- 后来写了一个空的Controller发现也访问不了,排除代码问题.. Runtime报错:模版不存在?? [ 2019-06-28T15:21:16+08:00 ] 103.219.18

spring开启事务时启动报错SAXParseException

在启动项目时报解析xml文件异常: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c 'aop:config'...... 由报错提示可知,是aop产生的问题,打开配置文件,经过查看后才知道是没有加aop声明: <!--开启基于注解的事务,使用xml配置形式的事务(必要主要的都是使用配置式) --> <aop:config> <!-- 切入点表达式 --> <aop:pointcut expression=

python_异常报错

一.报错类型 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常:基本上是无法打开文件 ImportError 无法引入模块或包:基本上是路径问题或名称错误 IndentationError 语法错误(的子类) :代码没有正确对齐 IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5] KeyError 试图访问字典里不存在的键 KeyboardInterrupt Ctrl+C被按下 Nam

【Objective-C编程】 Must explicitly describe intended ownership of an object array parameter异常报错解决方案

在做Oc的一个OOP的画多种图形例子的时候.Xcode无端报Must explicitly describe intended ownership of an object array parameter"异常信息,检查了几遍代码还是编译器报错,找了很久才知道原因,现在将这个错误分享出来给大家. 报错的关键代码: 错误的翻译:必须显式地描述目标对象的所有权.个人理解大概就是分配 空间的问题.不符合内存管理的规则 处理办法:处理办法就是将设置项目 Automatic Reference Count