2010-05-25 43 views
0

我想在沒有任何優化的情況下從源代碼編譯irb,這樣我可以在使用gdb逐句通過(解釋器)代碼時獲得更多信息。我已經成功地編譯了ruby 1.9.1,沒有問題,但我找不到任何有關irb的文檔。我相信irb包含在ruby 1.9的源代碼中,但還沒有能夠驗證這一點。任何人都可以將我指向正確的方向嗎?如何在Ubuntu上從源碼編譯irb?

回答

2

你能澄清你的意思嗎?「編譯IRB沒有優化」?

你不說你正在使用哪種Ruby實現。我會假設你正在使用YARV。

使用YARV,沒有單獨的編譯步驟,它會自動爲您編譯IRb,每次運行它。 (即使YARV是一個編譯器,你可以把它看作是一個解釋器,因爲你不必擔心編譯步驟。)另外,YARV在編譯AFAIK時不做任何優化,如果是的話,也沒有影響編譯的方式,因此也無法關閉優化。

IRb在YARV源代碼中很容易找到。可執行生活在bin目錄:

但它沒有做任何有趣的工作。真正的肉是在標準庫: