2
我已經開始在我的庫中使用引用計數。這是一個相當不錯的解決方案,增加和減少不會浪費許多資源,因爲有些人錯誤地認爲它是可以想象的。另外引用計數的額外內存可以忽略不計。在OSX上安裝libgc(Boehm的垃圾收集器)
但顯然跟蹤垃圾收集是如此之好,它比使用malloc/free更好。我不確定這是否屬實,所以我想嘗試一下(通過一次釋放多個對象進行後端優化?)。另外GC會使我的庫更易於使用,因爲不需要調用保留/釋放函數。
編輯:問題是,gc/gc.h包含自己無限。這沒有意義...
謝謝。
這不是真的,儘管一些GC狂熱分子會聲稱它是。 GC從根本上與C不兼容。參見http://stackoverflow.com/questions/4039274/was-there-a-specific-reason-garbage-collection-was-not-designed-for-c/4039474#4039474 –
gc是隻有當gc擁有更多的虛擬地址空間才能玩時,你的應用程序一次只能使用一次,並且無論如何,任何合理的開銷無關緊要(在絕大多數情況下,這並不是問題)或者你注意參考模式。 – jthill
順便說一句,我很肯定Boehm GC的依賴不會讓你的庫「更易於使用」,因爲它會完全阻止在任何需要健壯的應用程序中使用你的庫。 –