Linux:floating point exception错误解析介绍

背景

有时在CentOS上编译进程,拿到其他centos上去跑,系统给出了下面一行错误信息:

Floating Point Exception

分析

1、高版本GCC编译的程序在低版本GCC的环境下运行会出现这个错误; 

由于使用高版本的gcc glibc 编译后在低版本的glibc上运行导致.


gcc现在在link的时候会采用--hash-style=gnu这个hash方式,据说可以提升动态链接50%的效率。

然而, 旧的glibc版本并不支持, 所以想要在旧的glibc版本上跑的话, link的时记得加上-Wl, --hash-style=sysv

例如:

gcc -Wl,--hash-type=sysv  -o test test.c       

2、程序中出现除0的情况,这种情况可用GDB调试找到问题代码,这里就不赘述了;

检查一下代码中是否有除零:var/0 var%0 这种情况

猜你喜欢

转载自blog.csdn.net/hhd1988/article/details/128117476