相关文章推荐
聪明伶俐的小马驹  ·  spring boot ...·  1 年前    · 
跑龙套的单杠  ·  从 0 到 1 学习 ...·  2 年前    · 
欢乐的领带  ·  java - How to ...·  2 年前    · 

什么是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++的安装目录。
  1. GMP的下载页 ,下载最新的版本,一个".tar.bz2" 或 ".tar.gz" 文件。
  2. 解压这个压缩文件到一个文件夹如"c:/c++/gmp" 或别的什么——尽量避免空格和大写字母。你可能需要一个号的压缩软件——如果你没有一个可以打开这个文件的软件的话,下载并安装7-Zip( 从这里 )。
  3. 确认你现在有一个文件夹"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" 这个扩展名).
  4. 运行这个程序——所有选项默认就行了。
  5. 当安装完成后,会出现一个黑色的提示符窗口。确认你已装了MinGW(输入'y' 然后回车)然后输入你 Dev-C++ 的安装目录, 用 顺斜线 小写 :对我来说就是 "c:/dev-cpp"。敲回车。
    1. 去 "C:/Dev-Cpp/bin" (or 等价的目录) 然后拷贝一份"mingw32-make.exe",重命名为"make.exe"。这是因为 MSYS 的安装去掉了"make.exe" , 使 Dev-C++ 使用makefile编译时产生问题.

    你现在可以开始编译了! :D

编译和安装
  1. 打开MSYS(默认情况下,在开始菜单里有一个链接——开始->MinGW->MSYS->msys)。
  2. "cd"到你的GMP文件所在的目录。
  3. 输入 "./configure --prefix=/c/dev-cpp --enable-cxx" (说句废话,别加双引号,别的地方也一样!) ——记得调整"/c/dev-cpp" 为你的目录——然后回车.让它运行吧——它在分析你的系统,生成必需的Makefiles。
  4. 假如没有错误(如果有的话,问问别人,或者凭感觉处理——通常只是一些拼写错误或错误的路径名),输入"make"然后回车。同样的,让它自己在那儿运行,它在编译链接所有的代码,这会花很长一段时间。 这个过程将各个源文件按各自的分类编译(integers, floats, etc. - 以文件架结构),生成 .o 和 .lo 文件,然后将它们链接为单独的 .la 文件。
  5. 当这个过程结束后,我强烈建议,再运行一下"make check",这会进行多方面的测试,用你的新的静态的库来运行它们。
  6. 你应当检查以确保".a"库文件已经安装进了Dev-C++的目录,比如"C:/Dev-Cpp/lib"。如果没有,到".libs"文件夹中去找。

现在,你应该已经可以使用静态库了!

  1. 现在,打开Dev-C++,创建一个新的 C++ 工程(一个控制台程序 Console Application).
  2. 敲进以下代码并保存为"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;
}
  1. 打开 Project->Project Options->Parameters->Linker, 点击 "Add Library or Object",然后进入到 "C:/Dev-Cpp/lib".选择 "libgmpxx.a" 文件, 点击"Open". 一个新的入口出现。同上操作,但是选择 "libgmp.a". 这个顺序很重要!
  2. 点击 OK,然后编译!
一个简短的解释

MSYS 是运行"configure" shell 脚本和提供理想编译环境所必需的。这比 Cygwin 使用起来更容易,安装更快。

"configure" 脚本中的 "--enable-cxx"选项是使 "libgmpxx" 库生效的选项,并将"gmpxx.h"拷贝到安装目录。

当在C++中使用GMPXX是,以下过程是需要的:

  1. #include
  2. libgmpxx.a
  3. libgmp.a

对于C版本,就是:

  1. #include
  2. 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 大数运算库的步骤。