GCC版本导致的Floating Point Exception

来源:互联网 发布:勤思教育怎么样知乎 编辑:程序博客网 时间:2024/05/12 06:59

在嵌入式系统中经常遇到开发环境版本与程序运行时环境版本不一致,由于使用高版本的gcc glibc 编译后在低版本的glibc上运行导致,可能导致Floating Point Exception运行时错误。这是由于现在的gcc在link的时候默认会采用选项--hash-style=gnu,而使用这种Hash表的方式可以大大提升动态链结时的效率。 而老版本的glibc本并未支持,我们只要在在程序连接选项中加上-Wl,--hash-style=sysv就可以解决这个问题了。