LLVM 介绍
来源:互联网 发布:大数据相关专业 编辑:程序博客网 时间:2024/05/29 04:45
LLVM(low level virtual muchine)是一个开源项目,它设计的初衷是为所有的语言的编译器提供一个统一的优化窗口,它的定位和GCC(Gnu compiler collection)相同,就是要在它的架构上建立一个编译器的王国。
当我们构造一个语言编译器的时候,我们只要关心如何把这个语言翻译到其自身的LLVM assemble language,其后怎么高效的翻译成机器代码已经不再需要我们关心,这部分已经被LLVM包装成一个可复用的模块,这加快我们构造编译器的速度,本质来讲就是提供了一个比汇编高级一点但是比其他语言又低一点的语言和基于这个语言的完整的解释,由于汇编极其依赖硬件,所以这样的抽象还是很有必要的,从本质来讲Java也是类似的工作原理,它对所有机器的汇编指令弄一套自己的类似的通用的指令语言,
另外LLVM支持statically and runtime compiled languages(JIT just in time),也就是将系统语言和脚本语言的世界融合在一起。
LLVM有一批成功的项目比如AMD的openCL,Intel的RapidMind等。
在LLVM之上常用的编译器有LLVM-gcc CLang等。
- LLVM 介绍
- LLVM安装使用介绍
- LLVM 与 Clang 介绍
- LLVM 与 Clang 介绍
- LLVM 与 Clang 介绍
- LLVM 与 Clang介绍
- LLVM 与 Clang 介绍
- LLVM 与 Clang 介绍
- LLVM与Clang介绍
- LLVM Metadata 介绍
- LLVM TableGen介绍
- LLVM 与 Clang 介绍
- LLVM 与 Clang 介绍
- LLVM 与 Clang 介绍
- LLVM 与 Clang 介绍
- LLVM(clang)介绍
- LLVM SSA 介绍
- LLVM与Clang的介绍
- java设计模式笔记链接地址汇总
- LINQ笔记
- proxool
- Portal-Basic Java Web 应用开发框架:应用篇(十三) —— REST Convention
- android 中获取logcat缓冲区信息
- LLVM 介绍
- Portal-Basic Java Web 应用开发框架:应用篇(十二) —— Action Convention
- 使用类库需要导入的架包总结
- Struts2知识积累(2)_核心概念:拦截器
- JSF2.0 中UICommand 以及UIInput的一些注意事项
- Hibernate Core Reference Manual学习笔记——Chapter 1. Tutorial
- 【双旦献礼】Portal-Basic Java Web 应用开发框架 v3.0.1 正式发布(源码、示例及文档)
- java文档注释
- 网址的组成及json文件结构