LLVM每日談之六 LLVM的源碼結構

這裡簡單介紹下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 |