在 Qt 程序中使用 MPIR
2017-10-22 14:51
746 查看
上篇博客介绍了如何编译 MPIR,这篇讲讲如何在程序中使用。我主要是用 C++ Qt 开发程序,所以这里只讲如何在Qt 程序中应用 MPIR。
我这里以mpir_gc 编译版为例,首先建立一个目录:dll_mpir_gc_vc14_win32
然后把需要的文件都拷贝到这个目录中,包括:
mpir.h
mpirxx.h
mpir_gc_vc14_win32.dll
mpir_gc_vc14_win32.exp
mpir_gc_vc14_win32.ilk
mpir_gc_vc14_win32.lib
mpir_gc_vc14_win32.pdb
之后新建一个文本文件,名字叫 : mpir_gc_vc14_win32.pri
里面加入这么几行:
之后在我们的项目的 pro 文件中加入这么一行就可以了:
下面是个测试代码,如何可以正常编译运行就说明一切都设置成功了。
我这里以mpir_gc 编译版为例,首先建立一个目录:dll_mpir_gc_vc14_win32
然后把需要的文件都拷贝到这个目录中,包括:
mpir.h
mpirxx.h
mpir_gc_vc14_win32.dll
mpir_gc_vc14_win32.exp
mpir_gc_vc14_win32.ilk
mpir_gc_vc14_win32.lib
mpir_gc_vc14_win32.pdb
之后新建一个文本文件,名字叫 : mpir_gc_vc14_win32.pri
里面加入这么几行:
win32: LIBS += -L$$PWD/ -lmpir_gc_vc14_win32 INCLUDEPATH += $$PWD/ DEPENDPATH += $$PWD/
之后在我们的项目的 pro 文件中加入这么一行就可以了:
include (./dll_mpir_gc_vc14_win32/mpir_gc_vc14_win32.pri)
下面是个测试代码,如何可以正常编译运行就说明一切都设置成功了。
#include <QCoreApplication> #include <stdio.h> #include <iostream> #include <mpir.h> #include <mpirxx.h> using std::cout; using std::endl; void mpz_test() //计算 100 的阶乘 { mpz_t integ, long_i; mpz_init (integ); mpz_init (long_i); mpz_set_sx(integ, 1); for(int i = 2; i<= 100; i++) { mpz_set_sx(long_i, i); mpz_mul(integ, integ, long_i); } mpz_out_str(stdout, 10, integ); } void mpzxx_test() //计算 100 的阶乘 { mpz_class sum(1); for(int i = 2; i<= 100; i++) { sum *= i; } cout << sum << endl; } void mpf_test()// 计算 E 到 100 位有效数字 { mpf_set_default_prec(500); mpf_t sum; mpf_init (sum); mpf_set_d(sum, 2.0); mpf_t long_i; mpf_init(long_i); mpf_t fact_1; mpf_init(fact_1); mpf_set_d(fact_1, 1); for(int i = 2; i < 100; i ++) { mpf_set_d(long_i, i); mpf_div(fact_1, fact_1, long_i); mpf_add(sum, sum, fact_1); } mpf_out_str (stdout, 10, 100, sum); } int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); mpzxx_test(); mpz_test(); putchar('\n'); mpf_test(); return a.exec(); }
相关文章推荐
- MFC与QT混合编程---在MFC程序中使用QT的组件
- 使用VC2005编译真正的静态Qt程序
- 使用Qt编写服务器端程序(包括Http传输服务器端)的方法
- 使用Qt编辑关闭窗口程序的一些见解
- 使用Qt 开发一个屏幕录像程序
- 使用Qt开发运行于WinCE上的程序
- 使用qmake 单独生成Qt程序
- 使用VC2005编译真正的静态Qt程序
- 使用Eric开发基于Qt的Python程序
- QT程序启动界面的使用
- 如何让 Qt 的程序使用 Sleep
- 使用Qt编辑关闭窗口程序的一些见解
- QT 使用QProcess 调用外部程序并截取输出流
- 使用Qt 开发一个屏幕录像程序
- windows下如何使用QT编写dll程序
- 使用Qt编辑关闭窗口程序的一些见解
- VS2005下使用QT如无打VS2005的SP1补丁会导致QT程序无法运行
- 使用VC2005编译真正的静态Qt程序
- 使用Visual Studio .NET开发Qt程序
- QT中调用外部程序:QProcess的使用