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

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

在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++的安装目录。 准备 去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

相关知识

霸气一点的活动代号
如何优雅地使用Sublime Text3(转)
windows使用ZFS精简指南
XShell免费版的安装配置教程以及使用教程(超级详细、保姆级)
php下载安装教程,PHP for Windows安装图文详细教程
我为花狂:一盆兰花给予的禅语
我自己的盆景土壤是怎么配方的
醋蛋治百病
comblockengine windows
使用 Office 脱机安装程序

网址: 在windows下安装使用GMP(好吧,我承认我闲的蛋疼) https://m.huajiangbk.com/newsview549042.html

所属分类:花卉
上一篇: 大蒜价格
下一篇: keras中Lambda层的使用