LLVM的初步认识

LLVM是一个相当复杂的开源项目。因为它要做的比GCC更灵活,更强大。

一句话描述


LLVM是一个高度模块化的、可编译多种语言、可生成多平台可执行文件的编译器。

特点


模块化。结构清晰,可以轻松地将编译分为几个步骤进行独立的优化。模块甚至可以作为其他项目直接使用。
中间代码语言无关化。这个当然是基于模块化,中间层相当独立。

个人理解是:任何语言都能翻译为中间代码IR,中间代码IR可以生成任何平台的目标文件或可执行目标文件。

可使用的平台


Windows
使用VS进行编译,比较舒服,个人成功编译,后续有介绍,网上有文档。
Linux
Mac Os X

应用案例


目前个人仅仅是使用,并没有了解源码,当然目前该项目还在火热开发维护中~


一:交叉编译:
很久之前在Window使用Linaro的工具链进行编译arm上的程序,现在又需要编译linux上的程序。当然使用如此强大的LLVM啊。
1.已成功编译出arm上的可执行的hello程序,后续介绍。

你可能感兴趣的:(LLVM)