2015-06-15 40 views
-1

是否可以完全避免垃圾收集器和手動釋放?Can Rust可以在沒有垃圾收集器的情況下處理循環數據結構?

是否有可能在Rust中需要垃圾回收(例如Scheme)的語言實現解釋器,而無需實現或使用任何垃圾回收器?

+1

這個問題很奇怪。有三個半相關的問題。一個是標題。和兩個身體。 –

+1

@SanjibPradhan:第一次,你可能想要參觀一下stackoverflow,從[如何提出一個好問題?](http://stackoverflow.com/help/how-to-ask)開始。 –

+2

歡迎來到堆棧溢出!我會**高度**建議閱讀[如何問一個好問題](http://stackoverflow.com/help/how-to-ask)。此外,它[特別勸阻](http://meta.stackexchange.com/questions/39223/one-post-with-multiple-questions-or-multiple-posts)從每個帖子詢問多個問題。假裝你在網上搜索「爲需要垃圾回收的語言實現解釋器」,你會*點擊關於「循環數據結構」的標題嗎?如果你收到3個不同的答案,每個問題一個*你會接受哪一個*? – Shepmaster

回答

2

至於標題問題 - 是的,可以在沒有垃圾回收器的情況下處理循環數據結構。

對於第一個問題。是的,你可以完全避免垃圾收集器和手動釋放在大多數情況下。在一些你依靠RC這是一個簡單的垃圾收集形式,或不安全,這依賴於作者不會丟失它將被釋放的情況。

在某些情況下,需要編寫一個GC。例如,如果你正在實現一個用於Javascript的虛擬機,你需要開發一個GC,因爲好的,這就是JavaScript的工作原理。但是開發這樣的GC可能需要大量的代碼,這些代碼再次落在作者身上,用於測試,檢查並證明它可行。