25

如果我想知道 gcc 给了我什么隐式预处理器定义,我可以输入echo "" | cpp -dD. 有谁知道clang的等价物是什么?

4

2 回答 2

52
clang -dM -E - < /dev/null

将列出 clang 的所有预处理器定义。

于 2010-12-28T19:23:42.300 回答
8

clang“转储处理器状态”选项在这里定义。您正在寻找的选项是-dM,因此您将运行:

clang -dM -E -

要触发执行,您需要终止手动输入:

  • 对于 Windows:Ctrl-Z Enter
  • 对于 Unix:Ctrl-D

否则,直接执行:

  • 对于 Windows:clang -dM -E - < NUL
  • 对于 Unix:clang -dM -E - < /dev/null
于 2017-04-13T14:59:06.017 回答