2012-04-15 100 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

相關問題