首页 > 代码库 > llvm 初探
llvm 初探
gcc/g++ 如此成熟,本来以为可能下个20年我们还是用它,但最近看 llvm 似乎大有取代gcc 和 g++ 的架势
1)Apple 编程已经把 llvm 提供developer 使用
2) 开源 3D 架构,Mesa3D 可以使用 llvm 引擎 (当没有 GPU时, Mesa 解释 glsl并执行,速度慢,如果使用 LLVM JIT, 速度大大提升)
3)某些云平台,引入 llvm 提高速度
后端:
llvm 可以运行是 llvm 定义的 中间代码, 这个中间代码 可以 编译为 x86, arm, mips 等目标机的 native 代码。
相对于 gcc/g++ llvm 的优势,就是llvm 可以以 lib形式存在,如此就可以集成到各系统中了
前段:
针对C语言, llvm的前端是 CLAN, 基本支持了 最新的 C/C++ 语言标准, 生成代码比 g++慢一些(可能10%); 但CLAN 是模块化的, 可以对庞大的项目进行重构。
参考资料
主站: http://llvm.org/
开发者谈架构: http://aosabook.org/en/llvm.html
Pyhon 使用 llvm 的 example: http://www.mdevan.org/llvm-py/examples.html
语法制导编译,代码生成使用 llvm: http://www.llvm.org/docs/tutorial/LangImpl1.html
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。