Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4137296
  • 博文数量: 447
  • 博客积分: 1241
  • 博客等级: 中尉
  • 技术积分: 5786
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-27 06:48
个人简介

读好书,交益友

文章分类

全部博文(447)

文章存档

2023年(6)

2022年(29)

2021年(49)

2020年(16)

2019年(15)

2018年(23)

2017年(67)

2016年(42)

2015年(51)

2014年(57)

2013年(52)

2012年(35)

2011年(5)

分类: 网络与安全

2014-06-12 16:38:45

最近要用到mipr数学课,需要重新编译一下。
1 现在mipr 2.6.0  源码
mpir-2.6.0.tar.bz2
2 然后从
下载 vsyasm-1.2.0-win32.zip
先解压文件
把 vsyasm.exe 拷贝到
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin

32位系统
 
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin

把 yasm.props, yasm.targets  和yasm.xml 拷贝到
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations
 
 32位
 
  C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations
建议不用使用sln编译,因为编译出的是x64的。
进入\mpir-2.6.0\mpir-2.6.0\win目录,
先运行
configure.bat
然后运行
make.bat
我们使用c++版本
运行一下例子

点击(此处)折叠或打开

  1. #include "stdafx.h"

  2. #pragma warning(disable: 4800)
  3. #include <mpirxx.h>
  4. #pragma warning(default: 4800)
  5. #pragma comment(lib,"mpir.lib")

  6. int _tmain(int argc, _TCHAR* argv[])
  7. {
  8.     mpz_t aBigPO2;

  9.     mpz_init(aBigPO2);

  10.     mpz_set_ui(aBigPO2, 1073741824); //2^30
  11.     mpz_mul(aBigPO2,aBigPO2,aBigPO2); //2^60
  12.     mpz_mul(aBigPO2,aBigPO2,aBigPO2); //2^120
  13.     mpz_mul(aBigPO2,aBigPO2,aBigPO2); //2^240
  14.     mpz_mul(aBigPO2,aBigPO2,aBigPO2); //2^480
  15.     mpz_mul(aBigPO2,aBigPO2,aBigPO2); //2^960
  16.     mpz_mul(aBigPO2,aBigPO2,aBigPO2); //2^1920

  17.     mpz_out_str(stdout,10,aBigPO2);
  18.     printf ("\n");

  19.     mpz_clear(aBigPO2);
  20. }



c++程序包含头#include ,如果使用gmp,应该包含 #include
#pragma warning(disable: 4800) 去除
 warning C4800: ‘int’ : forcing value to bool ‘true’ or ‘false’ (performance warning)



阅读(3960) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~