標籤:

有沒有介紹LLVM的書籍可以推薦?最好是中文的

有沒有介紹LLVM的書籍可以推薦?最好是中文的


目前幾乎只有唯一的一本有關LLVM的書籍,可以Amazon搜索LLVM,所以也根本不存在推薦與否了。而我會另外推薦CMU的教案:Index of /afs/cs.cmu.edu/academic/class/15745-s14/public/lectures,其中有兩個就是講LLVM的,可以大致了解整體的框架,而剩下的就是推薦LLVM的文檔,這裡面的文檔繁多,有些是開發時查閱的,有些是看LLVM代碼前應該看的,如LLVM的整體架構,如Module, Function, BasicBlock, Value, 以及各個模塊的iterator及use_iterator(非常有用的東西)的關係,以及LLVM Programmers Manual,了解LLVM的代碼風格,常用的數據結構等,包括StringRef, Twine等東西。而其實這樣純研究LLVM可能會比較空洞,還是自己基於LLVM寫一個編譯器吧,這樣會更了解LLVM。


如果不是想做LLVM本身的開發,只是用它做後端,那就看那個指南好了,一個下午包學包會短平快。


書目前Amazon上有一本 Amazon.com: Getting Started with LLVM Core Libraries eBook: Bruno Cardoso Lopes, Rafael Auler: Kindle Store

官網有個 tutorial LLVM Tutorial: Table of Contents

The Architecture of Open Source Applications 第1卷 第11章 The Architecture of Open Source Applications: LLVM 由 LLVM 作者 Chris Lettner 親自撰寫

還有一些通俗易懂的博客文章:

http://blog.reverberate.org/2012/12/hello-jit-world-joy-of-simple-jits.html

https://pauladamsmith.com/blog/2015/01/how-to-get-started-with-llvm-c-api.html

入門以後,就可以看官網的文檔了


相關書籍、資料確實挺少的,還不如在官網上看手冊。


llvm ebooks - All IT eBooks


The Architecture of Open Source Applications 第1卷 第11章


推薦閱讀:

計算機是怎麼區分int類型和float類型的數據的?
編譯器為什麼在一次編譯過程中要儘可能的發現所有錯誤?
你覺得編譯程序中使用的關鍵技術都有哪些應用方向?請詳細說明。
如果想要寫一個C++或者面向對象的語言的一個簡單的編譯器,應該學習哪些領域的知識?
Clang裡面真正的前端是什麼?

TAG:編譯器 | LLVM |