Chinaunix
标题:
分母是零
[打印本页]
作者:
lixiaogang11021
时间:
2010-05-03 15:25
标题:
分母是零
本帖最后由 lixiaogang110217 于 2010-05-03 16:07 编辑
浮点数被零除后报错,按理说不应该报错的。
测试代码:
#include <stdio.h>
int main() {
double a, b;
a=1.0;
printf("BEFORE\n");
b=0.0;
a=a/b;
printf("Result %5.2f\n",a);
复制代码
交叉编译复制到目标板运行后的结果:
BEFORE
Illegal instruction
复制代码
这是怎么回事呢?
实际出错语句:
Program received signal SIGILL, Illegal instruction.
0x00099a30 in ejsCreateNumberType (ejs=0x1baf10) at ejsLib.c:8753
8753 ejs->infinityValue->value = 1.0 / zero;
(gdb) bt
#0 0x00099a30 in ejsCreateNumberType (ejs=0x1baf10) at ejsLib.c:8753
#1 0x000d5990 in createTypes (ejs=0x1baf10) at ejsLib.c:30934
#2 0x000d6050 in defineTypes (ejs=0x1baf10) at ejsLib.c:31127
#3 0x000d56e0 in ejsCreate (ctx=0x1bac60, master=0x0,
searchPath=0x1bad28 "/mnt/jffs2/appweb/src/lib/appweb/bin/modules",
flags=32) at ejsLib.c:30852
#4 0x000dd0d4 in ejsOpenWebFramework (control=0x1bab38, useMaster=1)
at ejsLib.c:33936
#5 0x00035978 in maEjsHandlerInit (http=0x1b8b80, path=0x0) at ejsAppweb.c:867
#6 0x00018658 in maLoadStaticModules (http=0x1b8b80) at link.c:38
#7 0x00010f40 in maCreateServer (http=0x1b8b80, name=0x181ff4 "default",
root=0x181f8c ".", ipAddr=0x0, port=-1) at server.c:455
#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