如何在MacBook中的vs code中调用GMP包

一、什么是GMP包?

GMP包是一个著名的多精度算数的Library,能够解决C语言中高精度计算的一些问题

详细介绍请查看官网:The GNU Multiple Precision Arithmetic Library

二、安装GMP包

1、安装vs code

关于如何在MacBook中安装配置vs code的C与C++环境,请查看我的另外一篇文章:Mac配置VS code的C/C++、Java环境

2、官网下载gmp

GMP官网下面有一个选项:

Download the latest release of GMP

如图所示:

mac VSCODE 如何安装python包_官网


下载指定选项到你想要的文件夹,要记得放在哪里了,等一下要用的!

3、使用终端打开GMP所在文件夹

第一步:打开终端
(找不到的小伙伴可以用command+空格打开聚焦搜索“终端”)

第二步:打开所在文件夹
还记得上面让你记住在哪个文件夹嘛?就是要打开所在文件夹

注意你要一级一级的打开文件夹,比如路径是:/usr/app/downloads
你要先打开usr,然后才是app,然后才是downloads

代码:

$ cd 文件夹名字

当然,如果你不知道你打开的文件夹里面有没有,那就使用以下命令查看当前文件夹的文件

$ ls

我是直接放在了「下载」文件夹里面,我给出一个我的示例:

$ cd ~
$ cd Downloads

4、解压

使用以下命令进行解压:

$ xz -d gmp-6.2.1.tar.xz
$ tar -xvf gmp-6.2.1.tar

5、对解压后文件进行编译

首先打开解压后的文件夹:

$ cd gmp-6.2.1

然后使用以下命令进行编译:

$ ./configure --enable-cxx

也可以使用make进行编译,可以指定线程数进行编译,加快编译速度
看到后面的“-j4”,4的意思就是指定四个线程进行编译,可以根据实际情况更改

$ make -j4

如果出现以下错误:

checking for suitable m4... configure: error: No usable m4 in $PATH or /usr/5bin (see config.log for reasons).

是因为没有安装m4,安装m4即可

$ sudo apt-get install m4

6、安装GMP库

编译完成之后,使用以下命令完成对GMP库的安装:

$ sudo make install

然后可以对库进行检查(可做):

$ make check

7、将GMP库与vs code连接起来

打开vs code中的tasks.json文件(前面安装vs code时候肯定会用到的,在.vscode文件夹中)
然后如代码所示,在“args”下面添加这一行字:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
      {
        "type": "shell",
        "label": "clang++ build active file",
        "command": "/usr/bin/clang++",
        "args": [
          "-std=c++17",
          "-stdlib=libc++",
          "-g",
          "${file}",
          "-o",
          "${fileDirname}/${fileBasenameNoExtension}",
          "-lgmp"//添加这一行字
        ],
        "options": {
          "cwd": "${workspaceFolder}"
        },
        "problemMatcher": ["$gcc"],
        "group": {
          "kind": "build",
          "isDefault": true
        }
      }
    ]
  }

8、调用GMP库

现在已经安装好啦,你可以调用GMP库了
记得头文件加入 #include<gmpxx.h>

#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; 
}

输入:26375698714985198274598237482305723857
74219384798237498237489723984729374437
输出:100595083513222696512087961467035098294

三、安装完成

之前下载的gmp安装文件也可以移到废纸篓了

打字不易,点个赞吧~