LLVM每日談之六 LLVM的源碼結構
02-05
這裡簡單介紹下LLVM的源碼結構,讓大家知道LLVM的每個文件夾都放的是什麼內容。
參考文檔: Getting Started with the LLVM System
llvm/examples
這個目錄主要是一些簡單例子,演示如何使用LLVM IR 和 JIT。還有建立一個簡單的編譯器的例子的代碼。
建立簡單編譯器的文檔地址:LLVM Tutorial: Table of Contents
llvm/include
這個目錄主要包含LLVM library的公共頭文件。
llvm/lib
這個目錄包含了大部分的LLVM的源碼。在LLVM中大部分的源碼都是以庫的形式存在的,這樣不同的工具之前就很容易共用代碼。
llvm/projects
這個目錄包含著一些依賴LLVM的工程,這些工程嚴格來說又不算LLVM一部分。
llvm/runtimes
這個目錄包含了一些庫,這些庫會編譯成LLVM的bitcode,然後當clang linking 程序的時候使用。
llvm/test
這個目錄是LLVM的測試套件,包含了很多測試用例,這些測試用例是測試LLVM的所有基本功能的。
llvm/tools
這個目錄理是各個工具的源碼,這些工具都是建立在剛才上面的那些庫的基礎之上的。也是主要的用戶介面。
llvm/utils
這個目錄包含了一些和LLVM源碼一起工作的應用。有些應用在LLVM的編譯過程中是不可或缺的。
2012年11月11日
推薦閱讀:
TAG:LLVM | Clang | ChrisLattner |