8cc小型的 C 編譯器
8cc 是一個小型的 C 編譯器,它旨在支持所有C11語言功能,同時使代碼盡可能的小而簡單。
編譯器可以自行編譯。您可以將其代碼視為C語言的實現(xiàn),以及該編譯器可以編譯的示例。
8cc的源代碼經(jīng)過精心編寫,以盡可能簡潔和易于閱讀,因此該源代碼成為學(xué)習(xí)編譯器中使用的各種技術(shù)的良好學(xué)習(xí)材料。您可能會發(fā)現(xiàn)詞法分析器,預(yù)處理器和解析器對于了解如何在每個階段處理C源代碼已經(jīng)很有用。
它不是一個優(yōu)化的編譯器。生成的代碼通常比GCC慢2倍或更多。我計劃在將來實現(xiàn)合理的優(yōu)化水平。
8cc僅支持x86-64 Linux。在修復(fù)所有已知的錯誤編譯并實現(xiàn)優(yōu)化通過之前,我沒有計劃使其可移植。從2015年起,我將Ubuntu 14用作開發(fā)平臺。不過,它應(yīng)該可以在其他x86-64 Linux發(fā)行版上運行。
注意:不要對此編譯器抱有很高的期望。如果您嘗試編譯除編譯器本身以外的程序,則很有可能會看到編譯錯誤或編譯錯誤。這基本上是一個單人項目,到目前為止,我僅花了幾個月的業(yè)余時間。
評論
圖片
表情
