Chinaunix

标题: 分母是零 [打印本页]

作者: lixiaogang11021    时间: 2010-05-03 15:25
标题: 分母是零
本帖最后由 lixiaogang110217 于 2010-05-03 16:07 编辑

浮点数被零除后报错,按理说不应该报错的。
测试代码:
  1. #include <stdio.h>
  2. int main() {
  3. double a, b;
  4. a=1.0;
  5. printf("BEFORE\n");
  6. b=0.0;
  7. a=a/b;
  8. printf("Result %5.2f\n",a);
复制代码
交叉编译复制到目标板运行后的结果:
  1. BEFORE
  2. Illegal instruction
复制代码
这是怎么回事呢?
实际出错语句:
  1. Program received signal SIGILL, Illegal instruction.
  2. 0x00099a30 in ejsCreateNumberType (ejs=0x1baf10) at ejsLib.c:8753
  3. 8753        ejs->infinityValue->value = 1.0 / zero;
  4. (gdb) bt
  5. #0  0x00099a30 in ejsCreateNumberType (ejs=0x1baf10) at ejsLib.c:8753
  6. #1  0x000d5990 in createTypes (ejs=0x1baf10) at ejsLib.c:30934
  7. #2  0x000d6050 in defineTypes (ejs=0x1baf10) at ejsLib.c:31127
  8. #3  0x000d56e0 in ejsCreate (ctx=0x1bac60, master=0x0,
  9.     searchPath=0x1bad28 "/mnt/jffs2/appweb/src/lib/appweb/bin/modules",
  10.     flags=32) at ejsLib.c:30852
  11. #4  0x000dd0d4 in ejsOpenWebFramework (control=0x1bab38, useMaster=1)
  12.     at ejsLib.c:33936
  13. #5  0x00035978 in maEjsHandlerInit (http=0x1b8b80, path=0x0) at ejsAppweb.c:867
  14. #6  0x00018658 in maLoadStaticModules (http=0x1b8b80) at link.c:38
  15. #7  0x00010f40 in maCreateServer (http=0x1b8b80, name=0x181ff4 "default",
  16.     root=0x181f8c ".", ipAddr=0x0, port=-1) at server.c:455
  17. #8  0x0000bcec in main (argc=1, argv=0xbefc7c64) at appweb.c:233
复制代码

作者: xyloveyy    时间: 2010-05-04 11:14
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2