这是从我《一份关于各种安装LLVM的方法的总结》中分支出来的。因为这个内容写进那一篇会太杂乱。
还是以翻译+自己总结的形式写出来,官网上介绍的东西太好了。
还不完善,会持续更新其中的内容,欢迎大家指正。
目录层次结构Directory Layout
一个很有用的LLVM源码信息的来源是LLVM的doxygen文档http://llvm.org/doxygen/
llvm/examples
这个目录是一些使用LLVM IR和JIT的简单例子
llvm/include
这是从LLVM library中导出的公共头文件。在llvm/include下还有三个主要的子目录:
llvm/include/llvm
这个子目录下是所有LLVM的专用头文件,在这个子目录下还有很多子目录,比如:/Analysis, /CodeGen, /Target, /Transform...
llvm/include/llvm/Support
这个子目录下是LLVM提供的生成的支持库,但不是专门针对LLVM的。比如说,是一些C++ STL的工具和一个处理库存储在这里的头文件的命令行选项
llvm/include/llvm/Config
是由configure脚本配置的头文件。封装了标准UNIX和C的头文件。可以在源代码中使用#include的包含这些由configure脚本生成的头文件。
(实际上我在源码中看到的/Support文件夹下是有很多的头文件,反而/Config文件夹下不是)