【发布时间】:2016-05-31 05:29:41
【问题描述】:
我正在尝试为代码生成突变体(使用基于 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 宏做类似的事情。
【问题讨论】:
-
您需要以某种方式将它们传递给您的编译器实例。 “定义”没有环境变量,只有库和包含位置。
-
我想知道是否有用于 clang 的全局配置文件以及用于 gcc 的 configure.ac。
标签: c++ c macros clang libclang