现象:
同一个程序在一台高版本Linux上运行时没有问题,而在另一台低版本机器上运行报Floating Point Exception时,那么这极有可能是由高版本gcc链接造成的。
原因:
高版本的gcc在链接时采用了新的哈希技术来提高动态链接的速度,这在低版本中是不支持的。因此会发生这个错误。
解决方案:
在链接的时候添加选项-Wl,--hash-style=sysv
例如 gcc -Wl,--hash-style=sysv -o test test.c
本文介绍了一个特定场景下出现的FloatingPointException问题及其解决方案。该问题是由于不同版本Linux系统间gcc链接器的哈希技术差异导致。文章提供了一个简单的解决办法,即在链接时添加-Wl,--hash-style=sysv选项。
现象:
同一个程序在一台高版本Linux上运行时没有问题,而在另一台低版本机器上运行报Floating Point Exception时,那么这极有可能是由高版本gcc链接造成的。
原因:
高版本的gcc在链接时采用了新的哈希技术来提高动态链接的速度,这在低版本中是不支持的。因此会发生这个错误。
解决方案:
在链接的时候添加选项-Wl,--hash-style=sysv
例如 gcc -Wl,--hash-style=sysv -o test test.c
3802

被折叠的 条评论
为什么被折叠?