從the pickaxe:如果我要自己釋放內存,我應該使用ALLOCA_N嗎?
有時您可能需要在擴展塔牛逼分配內存不會 用於對象存儲,或許你有一個布隆過濾 ,圖像,或一個巨大的位圖紅寶石 沒有直接使用的一大堆小結構。要正確使用垃圾回收器, 您應該使用以下內存分配例程。這些例程比standard malloc函數做了更多的工作。 例如,如果ALLOC_N確定它不能分配所需數量的內存,它將調用垃圾回收器來嘗試 回收一些空間。如果不能將提高一個NoMemError或者 所請求的內存量是無效的
但在一個給定的功能,我確切地知道何時釋放內存。在這種情況下,我應該仍然使用ALLOC_N
來分配內存嗎?
有沒有合法的情況下,我應該自己釋放內存,或者最好總是使用ALLOC_N
而不關心它?
好的博客,解釋C擴展:http://blog.aeolusproject.org/category/ruby/page/2/ – thomthom 2013-05-09 09:56:25
較新的功能可能是使用'ruby_xfree'。 – thomthom 2014-02-06 17:35:03