1

您需要 GMP 从源代码构建 GCC。这是否意味着 GCC 具有内置的任意精度算术?

4

1 回答 1

3

GCC 在编译时使用 GMP 。

我相信原因之一可能是某些语言标准(可能是 Fortran90,但可能不是 C99)要求以“无限”精度计算常量表达式的算术。因此,如果源代码包含1234567890*9876543210*123098456876 应该(至少对于 Fortran 的某些方言?)完整计算。为此,GCC 使用 GMP。

不要认为 GCC 编译的程序可以在不链接像 Gmp 这样的 bignum 库的情况下进行bignum算术(在运行时)。

你可以试试 CommonLisp,例如SBCL。它为您提供带有交互式动态编译的 bignum 算法。

于 2013-01-10T16:59:25.103 回答