国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【密碼學編程·Miracl函數(shù)庫】生成靜態(tài)庫miracl.lib

2020-09-19 19:18 作者:C語言實驗室  | 我要投稿

MIRACL(Multiprecision Integer and Rational Arithmetic C/c++ Library)是一套由Shamus Software Ltd.所開發(fā)的一套關于大數(shù)運算函數(shù)庫,用來設計與大數(shù)運算相關的密碼學之應用,包含了RSA 公開密碼學、Diffie-Hellman密鑰交換(Key Exchange)、AES、DSA數(shù)字簽名,還包含了較新的橢圓曲線密碼學(Elliptic Curve Cryptography)等等。

準備工作

下載Miracl:https://github.com/miracl/MIRACL

解壓后,顯示共44個項目(文件和文件夾一共44個)

解壓后的文件

拿到源文件后,編譯生成靜態(tài)文件miracl.lib,具體編譯方法稍后介紹。

編譯環(huán)境采用:Visio Studio 2017

編譯靜態(tài)庫文件.lib

打開lib文件夾下的bc32doit.bat文件(以文本格式打開)

bc32doit.bat

根據(jù)要求,將下列文件全部復制到一個文件夾中(新建一個文件夾存儲),這些文件可能分布在不同文件夾中

mirdef.h32

mirdef.h

添加 big.h, ec2.h, ecn.h, flash.h, zzn.h(非必須,可以沒有)

?mrcore.c

?mrarth0.c

?mrarth1.c

?mrarth2.c

mralloc.c

mrsmall.c

mrio1.c

?mrio2.c

?mrgcd.c

?mrjack.c

?mrxgcd.c

?mrarth3.c

?mrbits.c

?mrrand.c

?mrprime.c

?mrcrt.c

?mrscrt.c

?mrmonty.c

?mrpower.c

?mrsroot.c

?mrcurve.c

?mrfast.c

?mrshs.c

?mrshs256.c

?mrshs512.c

?mrsha3.c

?mrfpe.c

?mraes.c

?mrgcm.c

?mrstrong.c

?mrlucas.c

?mrzzn2.c

?mrzzn2b.c

?mrzzn3.c

?mrzzn4.c

?mrbrick.c

?mrebrick.c

?mrec2m.c

mrecn2.c

?mrgf2m.c

?mrflash.c

?mrfrnd.c

?mrdouble.c

?mrround.c

?mrbuild.c

?mrflsh1.c

?mrpi.c

mrflsh2.c

?mrflsh3.c

mrflsh4.c

打開Visual stadio 2017,選擇【文件】-【新建】-【項目】-【Visual C++】-【空項目】,項目名稱隨便取

新建空項目

將miracl文件夾下的文件放到新項目的工程目錄下,和工程源文件在同一級

復制所有選中的文件到工程目錄

在項目名稱上右鍵-選擇【添加】-【現(xiàn)有項】,將復制過來的所有文件都添加進來

添加所有文件

添加進來的文件如圖所示

添加文件效果

在項目名稱上右鍵-選擇【屬性】,修改參數(shù)內(nèi)容,然后【應用】-【確定】

修改參數(shù)

在項目名稱上右鍵-選擇【生成】或者【重新生成】

生成后的結(jié)果

至此編譯完成,編譯后的文件存在debug文件夾下

編譯后的文件

測試靜態(tài)庫文件

重新打開VS2017,選擇【文件】-【新建】-【項目】-【Visual C++】-【空項目】,并為項目命名

將編譯好的靜態(tài)文件和前面用到的所有頭文件全部復制到新的測試工程源文件中,并將靜態(tài)庫文件的名稱改為miracl(重命名"CompileMiracl.lib" 為 "miracl.lib" ,"CompileMiracl.pdb" 為 "miracl.pdb")

測試項目中添加靜態(tài)文件和頭文件

在項目名上右鍵-現(xiàn)在【添加】-【現(xiàn)有項】,將前面添加到源文件加下的所有文件都添加到工程中

添加所有復制過來的文件

在項目名上右鍵-【添加】-【新建項】-【C++文件】,新建一個main.c文件(源文件),將下面的代碼,然后點擊運行即可

extern "C"

{

#include "miracl.h"

#include "mirdef.h"

}

#pragma comment(lib,"miracl.lib")

int main()

{

miracl *mip = mirsys(500, 16); //初始化miracl系統(tǒng)

?

big n = mirvar(8); //初始化n,必須有

?

cotnum(n, stdout); //打印n

cinnum(n, stdin); //輸入n

cotnum(n, stdout); //再次打印n

return 0;

}

代碼

至此,測試成功輸出

【密碼學編程·Miracl函數(shù)庫】生成靜態(tài)庫miracl.lib的評論 (共 條)

分享到微博請遵守國家法律
建平县| 定日县| 铁力市| 河北区| 民权县| 东丰县| 广丰县| 左贡县| 禄丰县| 汶川县| 西充县| 忻城县| 固始县| 虹口区| 泊头市| 喀什市| 深州市| 博乐市| 六枝特区| 巴青县| 西乌珠穆沁旗| 和龙市| 瑞安市| 鸡泽县| 彝良县| 鲁山县| 手机| 博白县| 无锡市| 清涧县| 宜城市| 满洲里市| 永寿县| 宁阳县| 温泉县| 武邑县| 岳阳县| 库车县| 贺兰县| 宝山区| 金湖县|