ubuntu10.4下安装和使用GMP高精度数学库

时间:2025-03-24 08:21:41
1、安装:
下载gmp-5.0.1的源代码,解压至gmp-5.0.1目录。
su切换至超级用户权限。
./configure --prefix=/usr  --enable-cxx

提示:
checking for suitable m4… configure: error:
 No usable m4 in $PATH or /usr/5bin (see for reasons).
根据提示查看日志文件,发现文件太大,何处找原因呢?
没有办法,直接google搜索上面的英文提示。
居然马上就找到了资料解决这个问题,原来是缺少m4软件包。
查了一下m4是一个通用的宏处理器,由Brian Kernighan 和Dennis Ritchie设计。
apt-get install build-essential m4
安装完毕,其中的build-essential是ubuntu下用来解决安装g++/gcc编译环境依赖关系的软件包。

执行

./configure --prefix=/usr  --enable-cxx
make
make check 
make install 
开始编译,安装gmp数学库。
root@luoxiongwei-desktop:~# find / -name libgmp*
/usr/lib/ssl/engines/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/.4
/usr/lib/.10.0.1
/usr/lib/
/usr/lib/
/usr/lib/.3.5.2
/usr/lib/.10
/usr/lib/
/usr/lib/.3
/usr/lib/.4.2.1
应该是安装成功了。
--------------------------------------------------------------------------------
2、使用:
我也是新手,在这里小小尝试一下。
#include <iostream>
#include <>
#include <cstdlib>
#include <cstdio>
#include <cstring>

using namespace std;

int main(int argc,char **argv)
{

mpz_t begin, m1, m2;
    int count;
 
    //按照10进制初始化begin
    mpz_init_set_str(begin, "170141183460469231731687303715884105728", 10);
 
    count = (argc==1)?10:atoi(argv[1]);
 
 
    while(count--) {
        mpz_nextprime(begin, begin);
        gmp_printf("%Zd\n", begin);
    }
 
    mpz_clear(begin);
return 0;
}

g++ -o main -lgmp
luoxiongwei@luoxiongwei-desktop:~$ ./main
170141183460469231731687303715884105757
170141183460469231731687303715884105773
170141183460469231731687303715884105793
170141183460469231731687303715884105829
170141183460469231731687303715884105851
170141183460469231731687303715884105979
170141183460469231731687303715884106001
170141183460469231731687303715884106031
170141183460469231731687303715884106123
170141183460469231731687303715884106207

具体的参考文档请参见官网:/