2012-04-15 114 views
1

GMP manual的整数部分:如果我在GMP中不使用mpz_clear会发生什么情况?

Function:无效mpz_clear(mpz_t X)

免用x占据的空间。当你完成所有的mpz_t变量时,调用这个函数。

调用此过程会减慢我的程序速度,所以如果没有必要,我宁愿不这样做。

问题:如果我不使用mpz_clear会发生什么?

我猜测会发生内存泄漏。虽然我不确定我是否应该关心这个问题(例如,C可能会为我清理它,或者当程序退出时可能会返回内存)。

回答

4

它会导致你的内存泄漏。
C没有垃圾收集器来为你释放它。你必须通过调用上述函数来实现。
是的,当程序退出时,操作系统回收内存。但是如果你通过连续分配不断释放内存并且没有释放内存,那么你的程序可能无法在较长的时间内正常运行,因为由于连续内存泄漏,内存不足。

如果调用该函数会导致崩溃,那么应该调试并找出崩溃的原因并对其进行修复。

+0

非常感谢您的帮助。 – 2012-04-15 04:55:52

相关问题