GCC:限制长双倍宽度

时间:2015-02-25 18:07:33

标签: c++ gcc long-double

在使用GCC进行编译时,有没有办法/开关将长双精度的大小限制为64位?

2 个答案:

答案 0 :(得分:5)

可能是via -mlong-double-64 command line switch,但问题是:为什么要这样做?

x86 ABI和x86-64 System V ABI分别授权long double 96/80位¹,即你不仅需要重新编译你的应用程序,还需要重新编译它在API中暴露长双精度的任何东西。

¹根据同一文档,x86-64上的GCC使用128位长双精度。

答案 1 :(得分:-2)

由于通常(读取:我所知道的所有平台)double为64位,因此使用long double explicitely 需要更精确的浮点数。因此,没有办法恢复它。