Ubuntu下安装和使用GMP

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 config.log for reasons).
根据提示查看config.log日志文件,发现文件太大,何处找原因呢?
没有办法,直接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/libgmp.so
/usr/lib/libgmpxx.so
/usr/lib/libgmp.la
/usr/lib/libgmpxx.a
/usr/lib/libgmpxx.so.4
/usr/lib/libgmp.so.10.0.1
/usr/lib/libgmpxx.la
/usr/lib/libgmp.a
/usr/lib/libgmp.so.3.5.2
/usr/lib/libgmp.so.10
/usr/lib/libgmp.so
/usr/lib/libgmp.so.3
/usr/lib/libgmpxx.so.4.2.1
应该是安装成功了。
--------------------------------------------------------------------------------
2、使用:
我也是新手,在这里小小尝试一下。

[java] view plaincopy

  1. #include <iostream>  
  2. #include <gmp.h>  
  3. #include <cstdlib>  
  4. #include <cstdio>  
  5. #include <cstring>  
  6.   
  7. using namespace std;  
  8.   
  9. int main(int argc,char **argv)  
  10. {  
  11.   
  12. mpz_t begin, m1, m2;  
  13.     int count;  
  14.    
  15.     //按照10进制初始化begin  
  16.     mpz_init_set_str(begin, "170141183460469231731687303715884105728"10);  
  17.    
  18.     count = (argc==1)?10:atoi(argv[1]);  
  19.    
  20.    
  21.     while(count--) {  
  22.         mpz_nextprime(begin, begin);  
  23.         gmp_printf("%Zd\n", begin);  
  24.     }  
  25.    
  26.     mpz_clear(begin);  
  27. return 0;  
  28. }  




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

具体的参考文档请参见官网:http://gmplib.org/ 

转自:http://blog.csdn.net/luo6620378xu/article/details/8226935

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值