做者:
snsn1984
近來碰到一些想學習LLVM可是已經把編譯原理的知識還給老師的朋友,讓幫忙推薦一些學習資料,我就把手頭有的一些資料,大都是本身讀過的一些資料整理一下,列出來,但願對你們有所幫助。
一、《Compilers---Principles,Techniques, and Tools》
沒錯,這就是傳說中的龍書,雖然無數次被人推薦,也無數人說能不能換點別的推薦,可是它仍是當之無愧的首選。網上能夠找到PDF的電子版,中英 文的都有。若是真是打算好好的學編譯器,建議買本英文版的,讀的時候,不明白的再看看中文版的電子版。由於若是以中文版爲主的話,後續你面對編譯器的源 碼,可能會有一些東西對不上號。讀的是英文版的就會好多了。
這是一個公開課的網站,上面有不少優秀的公開課,都是世界著名大學的。其中有一門課程叫作《Compiler》講的特別不錯,若是跟着這個課程學習的話,再輔以龍書,效果會很不錯,同時也會讓你覺的讀龍書沒什麼可貴,還有一種撥雲見日的感受。
三、《程序員的自我修養》
關於這本書的介紹,網上有不少,你們能夠看下。這本書的立足點確實是以往不多有資料介紹的,可是並不表明不重要。若是你要是想了解程序真正的從源碼到執行,這本書的立足點的那些環節是必不可少的。
四、《Linkers and Loaders》
這本書是連接和裝載方面最爲權威的一本書,也十分的完整,可是內容有點偏舊。這本書讀的不讀,3書中的做者也推薦了這本書,覆蓋領域和3中的大體相同。有精力的同窗能夠看一下。
五、《深刻理解計算機系統》
這本書的經典就不用太多的言語介紹了。這本書中的第七章,主要介紹連接部分的內容,和三、4的覆蓋範圍有些類似,若是時間有限,建議能夠直接讀這本書的第七章。
這些資料中三、四、5覆蓋的範圍主要在連接和加載上面,這是通常的講編譯的書不會覆蓋的,可是真正的編譯器不光進行了編譯,必然包含一個連接的過程,因此這個過程對了解整個的編譯器的工做流程有着至關重要的做用。因此仍是建議學習一下這方面的知識。
由於本人讀過的書很少,這裏也列一個別人的推薦書單:
這個書單裏也列了一些別人的書單,我想這些應該夠用了。 --------------------------------------------------- 轉載請註明出處----------------------------------------------------------