前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安装gmp-6.1.2库

安装gmp-6.1.2库

原创
作者头像
M.Y.
修改2021-07-07 11:22:19
4.6K0
修改2021-07-07 11:22:19
举报
文章被收录于专栏:小白学习笔记小白学习笔记
代码语言:javascript
复制
 xz -d gmp-6.1.2.tar.xz
 tar -xvf gmp-6.1.2.tar.xz 
 cd gmp-6.1.2
  • 编译并安装(新建文件夹并使用--prefix=/path_to_install安装的话,在卸载时只要删除该文件夹,不用担心删不干净)【参考
代码语言:shell
复制
 ./configure --enable-cxx --prefix=/path_to_install --build=x86_64-linux
 # --enable-cxx: 配置GMP时,默认情况下不启用C++支持。解压缩该软件包,并使用以下命令进行配置:./configure --prefix=/usr/local --enable-cxx-这还将安装gmpxx.h header 以及libgmpxx.dylib和/或libgmpxx.a库
 # --prefix=/path_to_install 默认路径为/user/local,如果路径为根目录,后续make install时应该用sudo
 # 对于我的环境,不加--build=x86_64-linux的话Host type是broadwell-pc-linux-gnu,暂未发现问题
 make
 make check
 sudo make install

  • 如果安装到了--prefix=/path_to_install,由于提示库文件存放的位置为/path_to_install/lib,因此需要在~/.bashrc中添加

代码语言:javascript
复制
export LD_LIBRARY_PATH=/path_to_install/lib:$LD_LIBRARY_PATH
  • 测试“gmpxx.h”是否安装成功【参考
代码语言:c
复制
#include <iostream>
#include <gmpxx.h>
using namespace std;
 
int main()
{
    mpz_t a,b,c;
    mpz_init(a);
    mpz_init(b);
    mpz_init(c);
    gmp_scanf("%Zd%Zd",a,b);
    mpz_add(c,a,b);
    gmp_printf("%Zd\n",c);
    mpz_clear(a);
    mpz_clear(b);
    mpz_clear(c);
    return 0;
}

/*————————————————
版权声明:本文为CSDN博主「yyyyyyyz_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_46002416/article/details/111873588*/
  • 编译
代码语言:javascript
复制
g++ test.cpp -lgmp -lgmpxx -o test 
  • 运行返回“1111111222222222223333333”

  • 测试“gmpxx.h”是否安装成功
代码语言:javascript
复制
//该例子实现1000的阶乘,代码如下:

#include <gmp.h>
#include <string.h>
int main(int argc, const char *argv[])
{
  mpz_t z_i, z_s, z_o;
  mpz_init_set_str(z_i, "1", 10);
  mpz_init_set_str(z_s, "1", 10);
  mpz_init_set_str(z_o, "1", 10);
  
  int i;
  for (i = 0; i < 1000; i++)
  {
    mpz_mul(z_s, z_s, z_i);
    mpz_add(z_i, z_i, z_o);
  }

  gmp_printf("%Zd\n", z_s);
  mpz_clear(z_i);
  mpz_clear(z_s);
  mpz_clear(z_o);
  getchar();

  return 0;
}
  • 编译
代码语言:javascript
复制
gcc test.cpp -lgmp -lm -o test
  • 运行
代码语言:javascript
复制
40238726007709377354370243392300398......

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档