首页 > 解决方案 > 是否可以在 C++ 代码中使用库 GMP 而无需安装它?

问题描述

我正在尝试构建一个使用库并且该库使用 GMP 的可移植项目。我想知道是否可以在我的项目目录中使用带有 GMP 代码的 #include "gmpxx.h" 之类的语句。

标签: c++gmp

解决方案


是的,正如 Marc Glisse 指出的那样,如果性能对您来说不是那么重要,并且您不是用非常非常大的数字进行计算,那么 GMP 有一个名为“mini-gmp”的小型库版本,它几乎与 GMP 接口完全兼容,包括对自然数 ( mpn)、整数 ( mpz) 和有理数 ( mpq) 的计算,详情请参见此处此处。mini-gmp 的几乎所有问题都已修复

你永远不会安装 mini-gmp,基本上你#include "mini-gmp.c"在你的代码中(#include "mini-mpq.c"如果需要有理数)并且你准备好了。或者只是编译mini-gmp.c为单独的编译单元并使用mini-gmp.h. 此外,在您可以运行的目录中还有一个测试套件make

但是请注意,如果您的应用程序是关键任务,您可能会遇到问题,因为所有微架构优化和渐近大数的算术代码都不包含在 mini-gmp 中。


推荐阅读