GCC:限制长双倍宽度

GCC: Restrict long double width

在使用 GCC 编译时,是否有 way/switch 将 long double 的大小限制为 64 位?

因为通常(阅读:我知道的所有平台)double 是 64 位,所以使用 long double 明确地 需要更精确的浮点数。因此,无法恢复。

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

x86 ABI 和 x86-64 System V ABI 分别要求 long double 96/80 位¹,即您不仅需要重新编译您的应用程序,还需要重新编译它使用的任何在API.

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