做者:snsn1984 html
这里简单介绍下LLVM的源码结构,让你们知道LLVM的每一个文件夹都放的是什么内容。 工具
参考文档: http://llvm.org/docs/GettingStarted.html#getting-started 测试
llvm/examples .net
这个目录主要是一些简单例子,演示如何使用LLVM IR 和 JIT。还有创建一个简单的编译器的例子的代码。 code
创建简单编译器的文档地址:http://llvm.org/docs/tutorial/ htm
llvm/include blog
这个目录主要包含LLVM library的公共头文件。 接口
llvm/lib 文档
这个目录包含了大部分的LLVM的源码。在LLVM中大部分的源码都是以库的形式存在的,这样不一样的工具以前就很容易共用代码。 get
llvm/projects
这个目录包含着一些依赖LLVM的工程,这些工程严格来讲又不算LLVM一部分。
llvm/runtimes
这个目录包含了一些库,这些库会编译成LLVM的bitcode,而后当clang linking 程序的时候使用。
llvm/test
这个目录是LLVM的测试套件,包含了不少测试用例,这些测试用例是测试LLVM的全部基本功能的。
llvm/tools
这个目录理是各个工具的源码,这些工具都是创建在刚才上面的那些库的基础之上的。也是主要的用户接口。
llvm/utils
这个目录包含了一些和LLVM源码一块儿工做的应用。有些应用在LLVM的编译过程当中是不可或缺的。