我正在尝试为代码(使用基于 AST 的突变生成器)生成突变,以便编译使用 -D 宏。我可以使用 clang 使用此命令生成 AST 转储
clang -Xclang -ast-dump -fsyntax-only -DFLAG=0 -DOTHER_FLAG file.c
但是,突变生成器工具 (Milu) 使用 libclang 来解析 c 代码并生成 AST。如果没有这些宏,libclang 无法正确解析代码,也无法在代码中添加#defines。我想全局设置这些 -D 宏。
例如,我可以设置一个由 libclang 读取的环境变量 C_INCLUDE_PATH。我想知道我是否可以为 -D 宏做类似的事情。