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 位长双精度数。
在使用 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 位长双精度数。