use*_*091 5 embedded gmp bignum static-libraries
我必须操作非常大的数字可能是2048字节用于实现RSA.根据汽车领域的规则,我不能使用使用标准libc的bignum库.我搜索了GMP和Polarssl,但他们都使用malloc()和其他东西.
那么有没有可用的库/方法不依赖于libc并且还管理这么大的数字..????
我认为你不会找到任何像样的大整数C库,它不使用malloc,calloc以及可能的或任何动态分配,因为任意realloc精度数字的全部意义在于超越有限的、依赖于平台的堆栈大小,其次它是很多比编译时静态内存分配更灵活的方法。
我的猜测是调整mini-gmp软件包以克服您的特定限制。(您可以在主目录下找到它以及一些测试)。它包含一个头文件和一个 C 源文件,因此“切断”libc依赖关系而不是全功能发布应该要简单得多,但是它不会那么快,因为 GMP 严重依赖于高度优化的汇编代码各种CPU架构。
正如kkrambo所建议的,您也可以尝试BigDigits带有选项的库NO_ALLOCS,该选项自 2.2 版起可用:
添加了 NO_ALLOCS 选项来编译“mp”库,而不使用任何内存分配。
| 归档时间: |
|
| 查看次数: |
582 次 |
| 最近记录: |