ubuntu10.4下安装和使用GMP高精度数学库
来源:互联网 发布:教务管理系统数据库 编辑:程序博客网 时间:2024/05/19 12:27
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、使用:
我也是新手,在这里小小尝试一下。
#include <iostream>
#include <gmp.h>
#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 testgmp.cpp -lgmp
luoxiongwei@luoxiongwei-desktop:~$ ./main
170141183460469231731687303715884105757
170141183460469231731687303715884105773
170141183460469231731687303715884105793
170141183460469231731687303715884105829
170141183460469231731687303715884105851
170141183460469231731687303715884105979
170141183460469231731687303715884106001
170141183460469231731687303715884106031
170141183460469231731687303715884106123
170141183460469231731687303715884106207
具体的参考文档请参见官网:http://gmplib.org/
下载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、使用:
我也是新手,在这里小小尝试一下。
#include <iostream>
#include <gmp.h>
#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 testgmp.cpp -lgmp
luoxiongwei@luoxiongwei-desktop:~$ ./main
170141183460469231731687303715884105757
170141183460469231731687303715884105773
170141183460469231731687303715884105793
170141183460469231731687303715884105829
170141183460469231731687303715884105851
170141183460469231731687303715884105979
170141183460469231731687303715884106001
170141183460469231731687303715884106031
170141183460469231731687303715884106123
170141183460469231731687303715884106207
具体的参考文档请参见官网:http://gmplib.org/
- ubuntu10.4下安装和使用GMP高精度数学库
- ubuntu10.4下安装和使用GMP高精度数学库
- Ubuntu下安装和使用GMP
- gmp大数运算库 window下安装配置和使用(下)
- gmp大数运算库 window下安装配置和使用(上)
- GMP和NTL库安装教程
- 安装MPFR和GMP
- 安装GMP 和 MPFR
- 安装MPFR和GMP
- 大整数运算库gmp安装及使用
- ubuntu10.04下安装使用opencv
- ubuntu10.04下valgrind安装与使用
- ubuntu10.04下安装使用opencv
- 一个开源的高精度运算库——gmp
- gmp 5.0.1 windows 下编译使用
- 在windows下安装使用GMP(好吧,我承认我闲的蛋疼)
- Ubuntu10.10下安装和使用lrzsz,实现串口传输文件&&minicom
- wine 1.2 的使用介绍和在ubuntu10.04 下安装QQ
- socket 编程入门教程(一)TCP server 端:5、创建监听嵌套字
- EL 表达式的用法
- socket 编程入门教程(一)TCP server 端:6、创建“通讯 ”嵌套字
- socket 编程入门教程(一)TCP server 端:7、接收与发送
- SSH 相关基础
- ubuntu10.4下安装和使用GMP高精度数学库
- Cocos2D研究院之CCAction详解
- socket 编程入门教程(一)TCP server 端:8、本章的完整源代码
- 算法与编程
- 杭电acm2010水仙花数
- 对面试机试的理解
- @@IDENTITY与SCOPE_IDENTITY()
- POJ 3216
- [各种面试题] 找出三个只出现一次的数