我已經創建了我自己的(非常簡單的)字節碼語言,並創建了一個虛擬機來執行它。它工作正常,但現在我想使用gcc(或任何其他免費提供的編譯器)從普通的c程序爲本機生成字節碼。所以問題是,我如何修改或擴展gcc,以便它可以輸出我自己的字節碼?請注意,我不想將我的字節碼編譯爲機器碼,我想「編譯」c代碼(我自己的)字節碼。如何爲gcc編寫自己的代碼生成器後端?
我意識到這是一個潛在的大問題,最好的答案可能是「去看看gcc源代碼」。我只需要一些幫助就如何開始這一點。我認爲必須有一些關於這個主題的文章或書籍,可以描述向gcc添加自定義生成器的過程,但我沒有發現任何使用Google搜索的東西。
請看LLVM。 GCC因難以擴展而聞名。 – Mat
本指南可以幫助您:http://www.drdobbs.com/retargeting-the-gnu-c-compiler/184401529「關於如何將GNU C編譯器部署到您選擇的平臺的內部視圖。」 - 一個漂亮的很好的閱讀,雖然我還沒有試圖遵循它。 –