C-与LLVM相比如何?

在了解了LLVM的工作原理之后,我对如何生成可移植的底层代码以及如何构build这个“事物”模块感到非常兴奋。

但是我今天发现了C似乎与LLVM有一些概念的存在。

所以我在寻找一些信息,帮助我理解这两个项目之间的主要区别……为什么两者都存在。

对我来说,LLVM看起来有点像编译器基础架构的终极瑞士军刀,C–看起来远不如先进。

它们在低级机器types系统的performance方面有所不同。

LLVM机器非常有performance力。 另一方面,C语言机对语言前端负有很大的责任。 从C – FAQ中引用: “简单地说, C–没有高级types—它甚至没有把浮点variables和整型variables区分开来,这种模型给出了表示和types系统的前端总控制”

在视觉上,他们看起来很不一样。 C–看起来很像C,LLVM看起来很像汇编器。

实际上,LLVM现在有更多的动力。 它有一个JIT编译器,苹果公司正在使用它的3Dpipe道的东西 ,人们正在使用它来连接到GCC和各种奇怪和美好的事情。 有人称之为“ 几乎荒谬地容易合作 ”。

另一方面, C– 小得多,可能更容易理解。 (我想,一个有奉献精神的正常人可以完全理解它的各个方面。)