首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MPIR编码错误

MPIR编码错误
EN

Stack Overflow用户
提问于 2013-03-23 00:34:06
回答 1查看 99关注 0票数 0

嗨,我试过在我的代码中使用mpir(一个库)。我已经更改了我的代码,并将所有内容转换为使用mpir。我的代码由循环和等式中的一系列循环组成,这些循环和等式相互依赖,因此很难发现错误。我在调试后运行了代码,它在某个循环的前500次迭代中运行良好,然后我得到了以下消息:

GNU :无法分配内存(size=24)按任意键继续。。。

我不知道这个问题的原因。它与记忆有关吗?如果它在最初的迭代中运行良好,那么如果不是内存问题,为什么现在会有问题呢?

我再次创建了代码,这一次它运行得更远。在给出消息之前,它进行了第一次2000次迭代:

GNU :无法分配内存(size=16)按任意键继续。。。

有人知道问题出在哪里吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-23 00:49:11

看起来你已经知道了。这很可能是内存泄漏。

有关MPIR,请参阅手册的3.7节

、mpz_t和mpq_t变量从不会减少其分配的空间。通常这是最好的策略,因为它避免了频繁的重新分配。需要在某个特定点将内存返回给堆的应用程序可以使用mpz_realloc2,或者清除不再需要的变量。

Valgrind,一个帮助调试内存泄漏的工具,也可能是有帮助的。祝好运。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15575434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档