如何在Window下使用GMP庫,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
成都創(chuàng)新互聯(lián)公司是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計,網(wǎng)站模板,微信公眾號開發(fā),軟件開發(fā),微信平臺小程序開發(fā),十余年建站對護(hù)欄打樁機(jī)等多個行業(yè),擁有豐富的網(wǎng)站營銷經(jīng)驗。
GMP是The GNU MP Bignum Library,是一個開源的數(shù)學(xué)運(yùn)算庫,它可以用于任意精度的數(shù)學(xué)運(yùn)算,包括有符號整數(shù)、有理數(shù)和浮點數(shù)。它本身并沒有精度限制,只取決于機(jī)器的硬件情況。 更多詳情可能訪問官方網(wǎng)站 https://gmplib.org/
MinGW
pexports
點擊上面兩個軟件名就能下載對應(yīng)的安裝包,如果下載不了,可以到我的網(wǎng)盤上下載,地址如下: 鏈接: http://pan.baidu.com/s/1slw4YOP 密碼: 9a2h
------ 這里是趕時間分割線 ------ 如果你很趕時間,我網(wǎng)盤上也有已經(jīng)編譯好的.h .lib .dll文件,可以直接下載,當(dāng)然在這里下載以后,下面的內(nèi)容也可以不用看了,地址如下: 鏈接: http://pan.baidu.com/s/1bpaCP0z 密碼: kaxw
1.安裝MinGW 安裝后組件選擇"mingw32-base","mingw32-gcc-g++","mingw32-gmp" 安裝組件的過程中需要保持網(wǎng)絡(luò)連接正常。 本文假設(shè)MinGW的安裝路徑為默認(rèn)的路徑 C:\MinGW
2.安裝pexports 將下載回來的pexports.exe復(fù)制進(jìn) C:\MinGW\bin
3.生成lib文件 到了這一步,GMP就已經(jīng)在Windows里安裝好了,我們只要將gmp.h和libgmp.lib文件載入我們的VS工程就可以使用GMP庫了。 gmp.h 位于 C:\MinGW\include 目錄下 libgmp.lib 則需要我們手動生成,我們可以根據(jù) C:\MinGW\bin\libgmp-10.dll 來生成相應(yīng)的lib文件,步驟如下:
cd C:\MinGW\bin pexports.exe libgmp-10.dll > libgmp-10.def lib /def:libgmp-10.def
這時目錄下就會出現(xiàn) libgmp.lib 文件了。
如果提示 lib 命令不存在,請將VS的相關(guān)路徑寫入環(huán)境變量,比如我的是 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin
這里我以VS2010做示例,首先我們要將gmp.h和libgmp.lib文件載入工程。 代碼如下:
#include "gmp.h" #pragma comment(lib,"libgmp-10.lib") int main() { mpz_t t; //mpz_t 為GMP內(nèi)置大數(shù)類型 mpz_init(t); //大數(shù)t使用前要進(jìn)行初始化,以便動態(tài)分配空間 mpz_ui_pow_ui(t, 2, 100); //GMP所有函數(shù)基本都是以mpz打頭 gmp_printf("2^100=%Zd\n", t); //輸出大數(shù),大數(shù)的格式化標(biāo)志為%Zd mpz_clear(t); scanf_s("%s"); return 0; }
關(guān)于如何在Window下使用GMP庫問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。