2

使用 GCC 编译时,有没有办法/开关将 long double 的大小限制为 64 位?

4

2 回答 2

5

可能通过-mlong-double-64命令行 switch,但问题是:你为什么要这样做?

x86 ABI 和x86-64 System V ABI 分别要求 along double为 96/80 位¹,也就是说,您不仅需要重新编译您的应用程序,还需要重新编译它使用的任何在 API 中暴露 long double 的东西。

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

于 2015-02-25T18:26:19.223 回答
-2

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

于 2015-02-25T18:16:13.123 回答