我正在研究 LLVM 系统,并且已经阅读了入门文档。但是,一些命名法(以及 clang 示例中的措辞)仍然有些混乱。以下术语和命令都是编译过程的一部分,我想知道是否有人可以为我更好地解释它们:
clang -S
vs.clang -c
(我知道是什么-c
,但结果有何不同?)* (编辑)- LLVM Bitcode 与 LLVM IR(有什么区别?)
- .ll 文件与 .bc 文件(它们是什么,它们有何不同?)
- LLVM 汇编代码与本机汇编代码(有区别吗?)
在更高的层次上,我了解整个编译过程,并且可以很好地跟踪我的方式,我只是卡在某些点上,例如,我希望看到“IR”,但看到的是“bitcode”或“ LLVM 程序集”,这让我认为我几乎没有像我应该的那样理解它们!