Clang的不同处理阶段

时间:2014-03-02 21:22:41

标签: c++ c clang clang++

与GCC类似,clang支持在处理C / C ++时停止在不同阶段。例如,传递-E标志会导致它在预处理器之后停止,-c在链接之前停止。

到目前为止,我知道,

  1. -E:预处理
  2. -fsyntax-only:语法检查
  3. -S:assembly
  4. -c:对象代码
  5. 我错过了那些之间的任何停止点,或者是它?

1 个答案:

答案 0 :(得分:4)

您还可以使用-S -emit-llvm生成LLVM IR程序集文件,仅使用-emit-llvm生成LLVM bitcode目标文件。这些是与语言无关的代码表示,clang和其他LLVM前端生成并传递给LLVM以编译成可执行文件。