现象:
同一个程序在一台高版本Linux上运行时没有问题,而在另一台低版本机器上运行报Floating Point Exception时,那么这极有可能是由高版本gcc链接造成的。
原因:
高版本的gcc在链接时采用了新的哈希技术来提高动态链接的速度,这在低版本中是不支持的。因此会发生这个错误。
解决方案:
在链接的时候添加选项-Wl,--hash-style=sysv
例如 gcc -Wl,--hash-style=sysv -o test test.c
现象:
同一个程序在一台高版本Linux上运行时没有问题,而在另一台低版本机器上运行报Floating Point Exception时,那么这极有可能是由高版本gcc链接造成的。
原因:
高版本的gcc在链接时采用了新的哈希技术来提高动态链接的速度,这在低版本中是不支持的。因此会发生这个错误。
解决方案:
在链接的时候添加选项-Wl,--hash-style=sysv
例如 gcc -Wl,--hash-style=sysv -o test test.c