最近要用到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++版本
运行一下例子
-
#include "stdafx.h"
-
-
#pragma warning(disable: 4800)
-
#include <mpirxx.h>
-
#pragma warning(default: 4800)
-
#pragma comment(lib,"mpir.lib")
-
-
int _tmain(int argc, _TCHAR* argv[])
-
{
-
mpz_t aBigPO2;
-
-
mpz_init(aBigPO2);
-
-
mpz_set_ui(aBigPO2, 1073741824); //2^30
-
mpz_mul(aBigPO2,aBigPO2,aBigPO2); //2^60
-
mpz_mul(aBigPO2,aBigPO2,aBigPO2); //2^120
-
mpz_mul(aBigPO2,aBigPO2,aBigPO2); //2^240
-
mpz_mul(aBigPO2,aBigPO2,aBigPO2); //2^480
-
mpz_mul(aBigPO2,aBigPO2,aBigPO2); //2^960
-
mpz_mul(aBigPO2,aBigPO2,aBigPO2); //2^1920
-
-
mpz_out_str(stdout,10,aBigPO2);
-
printf ("\n");
-
-
mpz_clear(aBigPO2);
-
}
c++程序包含头
#include ,如果使用gmp,应该包含
#include
#pragma warning(disable: 4800) 去除
warning C4800: ‘int’ : forcing value to bool ‘true’ or ‘false’ (performance warning)
阅读(4075) | 评论(0) | 转发(0) |