%general-entities; ]> gmp &gmp-version;
&gmp-url;
GMP-&gmp-version; GMP <para>GMP 软件包包含提供任意精度算术函数的数学库。</para> <segmentedlist> <segtitle>&buildtime;</segtitle> <segtitle>&diskspace;</segtitle> <seglistitem> <seg>&gmp-ch6-sbu;</seg> <seg>&gmp-ch6-du;</seg> </seglistitem> </segmentedlist> </sect2> <sect2 role="installation"> <title>安装 GMP 如果您在为 32 位 x86 构建 LFS ,但您的 CPU 能够运行 64 位代码, 而且 您指定了 CFLAGS 环境变量,配置脚本会试图为 64 位 CPU 进行配置并且失败。为了避免这个问题,像下面这样执行 configure 命令: ABI=32 ./configure ... GMP 的默认设定会生成为本机处理器优化的库。 如果您希望获得适合功能不如本机的 CPU 的库, 执行以下命令,以生成通用库: cp -v configfsf.guess config.guess cp -v configfsf.sub config.sub 准备安装 GMP: ./configure --prefix=/usr \ --enable-cxx \ --disable-static \ --docdir=/usr/share/doc/gmp-&gmp-version; 新的配置选项的含义: --enable-cxx 该参数启用 C++ 支持 --docdir=/usr/share/doc/gmp-&gmp-version; 该变量指定文档的正确位置 编译该软件包,并生成 HTML 文档: make make html 本节中 GMP 的测试套件被认为是关键的,无论如何不能跳过。 测试编译结果: make check 2>&1 | tee gmp-check-log GMP 中的代码是针对本机处理器高度优化的。 在偶然情况下,检测处理器的代码会错误识别 CPU 的功能, 导致测试套件或使用 GMP 的其他程序输出消息 Illegal instruction (非法指令)。 如果发生这种情况,需要加入选项 --build=x86_64-unknown-linux-gnu 并重新构建 GMP 。 务必确认测试套件中的全部 190 个测试都被通过。 运行以下命令检验结果: awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log 安装该软件包和文档: make install make install-html GMP 的内容 安装的库 安装的目录 libgmp.so 和 libgmpxx.so /usr/share/doc/gmp-&gmp-version; 简要描述 libgmp 包含任意精度数学函数 libgmp libgmpxx 包含 C++ 任意精度数学函数 libgmpxx