1. 编译单元
每个c++文件作为一个编译单元
- 了解 Clang AST
- Understanding the Clang AST
这两篇用来入门可以说是极好的。 - 如何搭建一个demo:doc
- Clang Basic
- 铛铛铛铛! 官方文档哦,这个视频不错 Introduction to the Clang AST
一堆相关的资源整合
-
python调用libclang
-
深入研究clang 这里有个git上的小demo可以学习下。不会写CMAKE的我看教程一脸懵逼,这个最起码可以跑起来,然后再往下学习
-
使用Clang作为库 —— 如何编写基于 ASTFrontendActions 的 RecursiveASTVisitor
怎么build出example
- How to build clang/examples/PrintFunctionNames? 但是这里拿到的是一个.so文件,不是可执行文件哎?
(1) 在cmake llvm的时候,添加参数-DLLVM_BUILD_TESTS=ON
参考:cmake -G "Unix Makefiles" -DLLVM_BUILD_TESTS=ON ../llvm/
(2) cmake完之后,在build/tools/clang
目录下运行make BUILD_EXAMPLES=1