什么是GMP?
The GNU Multi-Precision library
,简称GMP,是经常处理数学运算的程序员所必要的一个组件。问题是,C和C++自带的数据类型都是固定大小的(int, long, double, etc.),严格限制了数的表示范围。
GMP库使你可以轻松地存储任意精度和大小的数(不论整数还是浮点数)。甚至,在c++扩展GMPXX的帮助下,你几乎可以像使用自带数据类型一样使用这些扩展数据类型。
为什么要看本教程?
如果你在windows下工作(额,是的,我知道——我通常都用UBUNTU,但这就是生活),并且使用
Dev-C++
(一个非常好的GPL协议下的开源免费C/C++编译器),那你就该直接来看本教程,并且最好是使用以下版本的软件:
Windows
Dev-C++
MinGW
GMP
XP
4.9.9.2
3.4.2 (GCC & G++的版本)
4.2.1 (GMPXX)
如果没什么错误的话,说明这教程确实很傻瓜。如果有错误的话。。。额,祝你好运。
你应该已经装好了Dev-C++了吧。没有?
点击这里
(GFW搞什么,这都墙!自个儿google或百度一个吧!)。假设安装路径是
C:/Dev-Cpp/
。如果不是的话,执行下面的命令的时候注意调整。
安装Dev-C++的时候应该已经把"C:/Dev-Cpp/bin" 加进环境目录了。点击开始->运行,输入"cmd"回车,输入"gcc --version"以便确认这一点。你应该会得到这样的信息:
如果你得到的信息是“‘gcc’ 不是内部或外部命令,也不是可运行的程序或批处理文件”,而且你确定你确实装好了Dev-C++ :右击我的电脑,选择属性。选择高级标签,然后点击环境变量按钮。在底部的框框里找到“Path”。选择它,点“编辑”,然后出现的对话框里末尾加上“;C:/Dev-Cpp/bin”,不要漏了分号,把"C:/Dev-Cpp"改为你的Dev-C++的安装目录。
-
去
GMP的下载页
,下载最新的版本,一个".tar.bz2" 或 ".tar.gz" 文件。
-
解压这个压缩文件到一个文件夹如"c:/c++/gmp" 或别的什么——尽量避免空格和大写字母。你可能需要一个号的压缩软件——如果你没有一个可以打开这个文件的软件的话,下载并安装7-Zip(
从这里
)。
-
确认你现在有一个文件夹"C:/c++/gmp/gmp-4.2.1",或其他等价的。这个文件夹里应该有一些源文件和一些子文件夹。假设你已经装好了MinGW (这是Dev-C++自带的),你只需要MSYS来运行"configure"脚本(“配置命令”)。要安装这个, 去
the general release section of MinGW on SourceForge
, 点击"MSYS", 然后点击 "MSYS-1.0.10.exe" (或者其他最新版本- 重要的是 ".exe" 这个扩展名).
-
运行这个程序——所有选项默认就行了。
-
当安装完成后,会出现一个黑色的提示符窗口。确认你已装了MinGW(输入'y' 然后回车)然后输入你 Dev-C++ 的安装目录, 用
顺斜线
和
小写
:对我来说就是 "c:/dev-cpp"。敲回车。
-
去 "C:/Dev-Cpp/bin" (or 等价的目录) 然后拷贝一份"mingw32-make.exe",重命名为"make.exe"。这是因为 MSYS 的安装去掉了"make.exe" , 使 Dev-C++ 使用makefile编译时产生问题.
你现在可以开始编译了! :D
-
编译和安装
-
打开MSYS(默认情况下,在开始菜单里有一个链接——开始->MinGW->MSYS->msys)。
-
"cd"到你的GMP文件所在的目录。
-
输入 "./configure --prefix=/c/dev-cpp --enable-cxx" (说句废话,别加双引号,别的地方也一样!) ——记得调整"/c/dev-cpp" 为你的目录——然后回车.让它运行吧——它在分析你的系统,生成必需的Makefiles。
-
假如没有错误(如果有的话,问问别人,或者凭感觉处理——通常只是一些拼写错误或错误的路径名),输入"make"然后回车。同样的,让它自己在那儿运行,它在编译链接所有的代码,这会花很长一段时间。 这个过程将各个源文件按各自的分类编译(integers, floats, etc. - 以文件架结构),生成 .o 和 .lo 文件,然后将它们链接为单独的 .la 文件。
-
当这个过程结束后,我强烈建议,再运行一下"make check",这会进行多方面的测试,用你的新的静态的库来运行它们。
-
你应当检查以确保".a"库文件已经安装进了Dev-C++的目录,比如"C:/Dev-Cpp/lib"。如果没有,到".libs"文件夹中去找。
现在,你应该已经可以使用静态库了!
-
现在,打开Dev-C++,创建一个新的
C++
工程(一个控制台程序 Console Application).
-
敲进以下代码并保存为"main.cpp":
#include
#include
using namespace std;
int main (void) {
mpz_class a, b, c;
a = 1234;
b = "-5678";
c = a+b;
cout << "sum is " << c << "/n";
cout << "absolute value is " << abs(c) << "/n";
cin >> a;
return 0;
}
-
打开 Project->Project Options->Parameters->Linker, 点击 "Add Library or Object",然后进入到 "C:/Dev-Cpp/lib".选择 "libgmpxx.a" 文件, 点击"Open". 一个新的入口出现。同上操作,但是选择 "libgmp.a".
这个顺序很重要!
-
点击 OK,然后编译!
一个简短的解释
MSYS 是运行"configure" shell 脚本和提供理想编译环境所必需的。这比
Cygwin
使用起来更容易,安装更快。
"configure" 脚本中的 "--enable-cxx"选项是使 "libgmpxx" 库生效的选项,并将"gmpxx.h"拷贝到安装目录。
当在C++中使用GMPXX是,以下过程是需要的:
-
#include
-
libgmpxx.a
-
libgmp.a
对于C版本,就是:
-
#include
-
libgmp.a
C++版本重载了操作符(+, -, /, *, =, ...) ,当你使用GMP是如同使用内置操作符一样简单,如上面的例子所展示。GMP数据类型在C++中包装为以下的类:
mpz_class
: Integers, or whole numbers
mpf_class
: Floats, or decimal numbers
mpq_class
: Rational numbers, or fractions
Enjoy!
原文地址:
http://suchideas.com/journal/2007/7/installing-gmp-on-windows
在windows下安装使用GMP一个在windows下安装GMP和GMPPXX的教程 ____________________________________________ 什么是GMP?The GNU Multi-Precision library,简称GMP,是经常处理数学运算的程序员所必要的一个组件。问题是,C和C++自带的数据类型都是固定大小的(int, long,
1.Dev c++
安装
文件 https://pan.baidu.com/s/1SeKZPjL9XrNnk4wLgMTk_A
2.
gmp
库文件https://pan.baidu.com/s/1DkYcO48Zn7A6N2OO2d5T6w
3.MSYS
安装
文件 https://pan.baidu.com/s/1djUyqWjdUZxP_8WxlcW5nQ
第一步:...
set CL=/FI"D:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\stdint.h" %CL%
然后重新
安装
pycrypto即可成功。
第一步
安装
Dev-C++
Dev-C++下载地址https://sourceforge.net/projects/orwelldevcpp/,
安装
默认方式
安装
,
安装
完成后配置环境变量,将C:\Dev-Cpp\bin添加到Path变量中。
检查
gcc
是否
安装
成功,进入cmd的De...
安装
pythoncrypto 出现的一连串错误
**1.错误信息如下:
warning:
GMP
or MPIR
library
not found; Not building Crypto.PublicKey._fastmath.
building ‘Crypto.Random.OSRNG.winrandom’ extension
error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Buil
最近写了一个高精度的模板,想要用
GMP
库测试一下,总结一下
GMP
环境的搭建。
大佬博客:
GMP
大法教你重新做人(从入门到实战)
解压.tar.lz的 时候可能会遇到一点问题,可以参考这个博客:.tar.lz压缩包解压
初学 Coq 时看的是 Mathematical Components 这本书,它自带了一个 Coq 的库,这是它的
安装
教程
这个库的
安装
要用到 OCaml Package Manager (OPAM) ,而它在本文所写之时(2021/9/25)仍不支持
Windows
我采用作者推荐的方式
安装
:采用 WSL 2
以下为步骤
确认
Windows
版本为 1903 及以上
可在终端内输入winver,在打开的窗口中查看
确认以下
Windows
功能均已启动:
适用于 Linux 的 Window
GMP
(GNU Multiple Precision Arithmetic
Library
)是一个用于高精度计算的库,支持整数、有理数和浮点数的运算。下面是在
Windows
系统下配置和
使用
GMP
大数运算库的步骤:
1. 下载
GMP
库
从
GMP
官网(https://
gmp
lib.org/)下载最新版本的
GMP
库,选择适合你系统的版本(32 位或 64 位)。
2.
安装
MinGW
GMP
库需要
使用
MinGW 编译器进行编译,因此需要先
安装
MinGW。可以从 MinGW 官网(http://www.mingw.org/)下载最新版本的 MinGW
安装
程序,
安装
时选择
安装
基本组件和 C++ 编译器。
3. 配置环境变量
将 MinGW 的 bin 目录添加到系统环境变量中,以便在命令行中可以直接
使用
MinGW 编译器。
4. 编译
GMP
库
在命令行中进入
GMP
库的源代码目录,执行以下命令:
./configure
make check
make install
这些命令将会编译、测试和
安装
GMP
库。如果一切顺利,
GMP
库将会被
安装
到默认的目录下(通常是 /usr/local/lib)。
5. 配置项目
在你的项目中添加
GMP
库的头文件和库文件路径,并链接
GMP
库。在 Visual Studio 中,可以在项目属性中的 VC++ 目录和链接器中添加相应的路径和库文件。
6.
使用
GMP
库
在代码中包含
GMP
库的头文件,就可以
使用
GMP
提供的高精度计算函数了。例如,可以
使用
mpz_t 类型表示大整数,
使用
mpz_init() 函数初始化一个 mpz_t 变量,
使用
mpz_add() 函数进行加法运算,
使用
mpz_get_str() 函数将结果转换为字符串输出。
以上就是在
Windows
系统下配置和
使用
GMP
大数运算库的步骤。