在使用GCC进行编译时,有没有办法/开关将长双精度的大小限制为64位?
答案 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 需要更精确的浮点数。因此,没有办法恢复它。