与GCC类似,clang支持在处理C / C ++时停止在不同阶段。例如,传递-E
标志会导致它在预处理器之后停止,-c
在链接之前停止。
到目前为止,我知道,
-E
:预处理-fsyntax-only
:语法检查-S
:assembly -c
:对象代码我错过了那些之间的任何停止点,或者是它?
答案 0 :(得分:4)
您还可以使用-S -emit-llvm
生成LLVM IR程序集文件,仅使用-emit-llvm
生成LLVM bitcode目标文件。这些是与语言无关的代码表示,clang和其他LLVM前端生成并传递给LLVM以编译成可执行文件。