c++ - 是否可以在 C++ 代码中使用库 GMP 而无需安装它?
问题描述
我正在尝试构建一个使用库并且该库使用 GMP 的可移植项目。我想知道是否可以在我的项目目录中使用带有 GMP 代码的 #include "gmpxx.h" 之类的语句。
解决方案
是的,正如 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 中。
推荐阅读
- c - 选定帧的调用堆栈
- angular - 尽管正确加载了令牌,但出现未经授权的错误
- autodesk-forge - 获取有关在 BIM360 中使用的许可证信息的可能性
- mongodb - 如何通过数组从数组中查找mongodb中的数据?
- html - 如何在使用 Angular 6 时删除 html 页面下方的空格?
- python - 将 return 作为参数传递给另一个函数
- javascript - 如何为自动填充年龄包含 getFullMonth 和 getFullDate?
- python - 无法在 CentOS 7 上获取 Python 3.7 以使用已安装的 OpenSSL 1.1.1
- javascript - 想要在javascript中将值随机索引设置为项目并将相应的图像设置为tempImages
- java - jsp中如何从mysql中获取数据