libclang:如何获取编译器宏定义

libclang: how to get compiler macro definitions

使用 clang LibTooling API 可以简单地使用 clang::Preprocessor::getPredefines() 获得编译器预定义列表,但我在 libclang API 中找不到任何等效项。是否可以使用 libclang API 获取编译器预定义列表?

我可以列出所有预定义,因为它们出现在翻译单元的开头。因此,在解析之后,我只是列出了 CursorKind.MACRO_DEFINITION 的所有 top-level 游标,这些游标不在任何实际位置(cursor.location.file is None 使用 python 绑定 API)