在GMP manual的整数部分:
功能:void mpz_clear(mpz_t x)
释放x占用的空间。完成后,为所有mpz_t变量调用此函数。
调用此程序会减慢我的程序速度,所以如果没有必要,我不愿意这样做。
问题:如果我不使用mpz_clear会怎样?
我的猜测是内存泄漏可能会发生。虽然,我不确定我是否应该关注这个问题(例如C可能会为我清理它,或者当程序退出时可能会返回内存)。
答案 0 :(得分:5)
会导致内存泄漏 C没有垃圾收集器来为你释放它。您必须通过调用上述功能来执行此操作 是的,当程序退出时,操作系统将回收内存。但是如果你继续通过连续分配继续泄漏内存并且没有解除分配,那么你的程序可能会长时间无法正常运行,因为由于连续的内存泄漏而没有足够的内存。
如果调用该函数会导致崩溃,您应该调试并找到崩溃的原因并进行修复。