天天看點

LLVM每日談之十一 編譯器相關學習資料推薦

近來碰到一些想學習LLVM但是已經把編譯原理的知識還給老師的朋友,讓幫忙推薦一些學習資料,我就把手頭有的一些資料,大都是自己讀過的一些資料整理一下,列出來,希望對大家有所幫助。

1、《Compilers---Principles,Techniques, and Tools》

沒錯,這就是傳說中的龍書,雖然無數次被人推薦,也無數人說能不能換點别的推薦,但是它還是當之無愧的首選。網上可以找到PDF的電子版,中英文的都有。如果真是打算好好的學編譯器,建議買本英文版的,讀的時候,不明白的再看看中文版的電子版。因為如果以中文版為主的話,後續你面對編譯器的源碼,可能會有一些東西對不上号。讀的是英文版的就會好多了。

這是一個公開課的網站,上面有很多優秀的公開課,都是世界著名大學的。其中有一門課程叫做《Compiler》講的特别不錯,如果跟着這個課程學習的話,再輔以龍書,效果會很不錯,同時也會讓你覺的讀龍書沒什麼難得,還有一種撥雲見日的感覺。

3、《程式員的自我修養》

關于這本書的介紹,網上有很多,大家可以看下。這本書的立足點确實是以往很少有資料介紹的,但是并不代表不重要。如果你要是想了解程式真正的從源碼到執行,這本書的立足點的那些環節是必不可少的。

4、《Linkers and Loaders》

這本書是連結和裝載方面最為權威的一本書,也十分的完整,但是内容有點偏舊。這本書讀的不讀,3書中的作者也推薦了這本書,覆寫領域和3中的大緻相同。有精力的同學可以看一下。

5、《深入了解計算機系統》

這本書的經典就不用太多的言語介紹了。這本書中的第七章,主要介紹連結部分的内容,和3、4的覆寫範圍有些相似,如果時間有限,建議可以直接讀這本書的第七章。

       這些資料中3、4、5覆寫的範圍主要在連結和加載上面,這是一般的講編譯的書不會覆寫的,但是真正的編譯器不光進行了編譯,必然包含一個連結的過程,是以這個過程對了解整個的編譯器的工作流程有着相當重要的作用。是以還是建議學習一下這方面的知識。

因為本人讀過的書不多,這裡也列一個别人的推薦書單:

<a href="http://www.lingcc.com/2012/05/16/12048/">http://www.lingcc.com/2012/05/16/12048/</a>

這個書單裡也列了一些别人的書單,我想這些應該夠用了。

--------------------------------------------------------------------------轉載請注明出處---------------------------------------------------------------------------------------------

繼續閱讀