c++ - Clang - 检测头文件何时完成

标签 c++ llvm-clang clang-ast-matchers

我是 clang 的新手,我正在尝试在所有其他包含完成后添加一个 #include<>

#include<iostream>
#include<math>
// I want to add my include here.

如果这是一个愚蠢的问题,我深表歉意。但我无法找到哪个 AST 匹配器执行此操作。我指的是:

http://clang.llvm.org/docs/LibASTMatchersReference.html

最佳答案

我不确定 AST 分析会有多大帮助:#include 指令在代码被解析为 AST 之前被预处理器替换。似乎它们没有出现在 AST 中。

另一种方法可能是 Clang 的预处理器 Hook ,它允许在预处理期间的不同点注册回调:

https://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html

关于c++ - Clang - 检测头文件何时完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47371376/

相关文章:

xcode - LD : (null): Assertion failed: ("dylib not assigned ordinal"), 函数compressedOrdinalForAtom,文件OutputFile.cpp,

c++ - clang AST 匹配 ostream <<

C++ 为变量分配异常大的内存

c++ - (1)为什么它不能识别这是一个回文&(2)我如何让它打印带有空格的原始输入?

c++ - 如何区分外接显示器和笔记本屏幕本身?

c++ - 使用 Clang 获取函数定义

c++ - 在 Mac OS X (El Capitan) 上安装 Cilk Plus 时出错

c++ - SFINAE 禁止临时调用时检测操作

c - 使用 clang AST 将表达式替换为宏