在windows下安装使用GMP(好吧,我承认我闲的蛋疼)

本文提供了一个详细的教程,指导如何在Windows环境下安装和使用GMP库,包括准备环境、下载与解压库文件、配置与编译过程,以及如何在C++项目中引入并利用GMP库进行数学运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在windows下安装使用GMP

一个在windows下安装GMP和GMPPXX的教程
____________________________________________

 

什么是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 (GCC) 3.4.2 (mingw-special)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

 
如果你得到的信息是“‘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

  6.  

编译和安装
  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
  1.  
     

    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

    评论 2
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值