clang的`cpp -dD`相当于什么?

Ted*_*ton 18 gcc clang c-preprocessor

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

ism*_*ail 44

clang -dM -E - < /dev/null
Run Code Online (Sandbox Code Playgroud)

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

  • 实际上,应该提到的是,这也是使用gcc实现它的正确方法. (2认同)

Ant*_*nio 6

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

clang -dM -E -
Run Code Online (Sandbox Code Playgroud)

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

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

否则,直接执行:

  • 对于Windows: clang -dM -E - < NUL
  • 对于Unix: clang -dM -E - < /dev/null