LLVM编译器架构

LLVM项目是一套工具的集合,它包括模块化、可复用的编译器及一些列工具链技术。
LLVM最开始是Low Level Virtual Machine的简称,但现在它并不是传统意义上的虚拟机。所以LLVM这个名字并非Low Level Virtual Machine的缩写,而是一个单词。

LLVM项目开始于伊利诺伊大学的一个研究项目,这个研究项目的目标是创造一个现代化、基于SSA编译策略同时支持静态编译和动态编译的编译器。此后LLVM项目成为一个包含多个子项目的大项目。

LLVM主要的子项目包括:

LLVM Core

兼容多种CPU的机器码生成库。

Clang

基于LLVM的一个C/C++/Objective C编译器,它的编译速度是GCC的三倍。

LLDB

基于LLVM的调试器,类似GDB

参考资料

http://llvm.org/
http://clang.llvm.org/

转载于:https://www.cnblogs.com/weiyinfu/p/9192987.html

LLVM和clang相关推荐

  1. LLVM与Clang编译图例

    LLVM与Clang编译图例 参考链接: https://blog.csdn.net/u012874859/article/details/108530256

  2. LLVM与Clang局部架构与语法分析

    LLVM与Clang局部架构与语法分析 Clang与LLVM LLVM整体架构,前端用的是clang,广义的LLVM是指整个LLVM架构,一般狭义的LLVM指的是LLVM后端(包含代码优化和目标代码生 ...

  3. LLVM 与 Clang 介绍 — LinuxTOY

    LLVM 与 Clang 介绍 - LinuxTOY LLVM 是 Low Level Virtual Machine 的简称,这个库提供了与编译器相关的支持,能够进行程序语言的编译期优化.链接优化. ...

  4. llvm安装方式_安装 LLVM 和 Clang

    LLVM 是伊利诺伊大学的一个开源项目,LLVM 提供了完整的 C/C++工具链,Clang 属于其中的一个子项目,是 LLVM 原生的 " C/C++/Objective-C" ...

  5. 转:GCC,LLVM,Clang编译器对比

    GCC,LLVM,Clang编译器对比 转自: http://www.cnblogs.com/qoakzmxncb/archive/2013/04/18/3029105.html 在XCode中,我们 ...

  6. LLVM 与 Clang 介绍

    晚上听国软徐纪元学弟给我说起了他刚装上的 Mac Lion 操作系统,也说到了最近 Apple 推出的新版本的 Xcode 4.2 在 iOS 4.iOS 5 程序开发中,加入了 automatic  ...

  7. 什么事LLVM和Clang?Clang与GCC有什么区别?Clang如何使用?

    这个问题主要讲Xcode编译器的认知,在学习iOS之前有必要学习一下Objective-C的编译环境. 在了解LLVM和Clang之前,先得了解一下什么是编译器. 编译器是一种计算机程序,它将某种编程 ...

  8. 详解三大编译器:gcc、llvm 和 clang

    传统的编译器通常分为三个部分,前端(frontEnd),优化器(Optimizer)和后端(backEnd). 编译器一般构成 传统的编译器通常分为三个部分,前端(frontEnd),优化器(Opti ...

  9. LLVM和Clang背后的故事

    LLVM是Apple官方支持的编译器,而该编译器的前端是Clang,这两个工具都被集成到了Xcode里面.在这篇文章中,我们来了解一下LLVM和Clang背后的故事. 在很长一段时间里,Apple一直 ...

  10. llvm编译linux,下载与编译LLVM和Clang

    最近写编译器,要用到LLVM,记录一下在Linux下编译和安装的过程. 准备 LLVM编译器架构的前端是Clang,狭义的LLVM是指它的后端. 我们可以通过SVN来下载LLVM和Clang最新的源码 ...

最新文章

  1. HTML基础部分(3)iframe,提交信息的一些知识
  2. redis 中 set 和 hset 有什么不同,什么时候使用 hset 什么时候使用set?
  3. 读 Linux内核设计与实现 我想到了这些书
  4. linux关闭开发者模式的命今,CentOS防火墙用命令行方式关闭的方式
  5. java 内存溢出 内存泄露_JVM——内存泄漏与内存溢出
  6. 【网站开发】搭建一个属于自己的网站
  7. python生成任意n阶的三对角矩阵
  8. C语言实现常用排序算法——基数排序
  9. Unity2018.3中文更新日志速览版
  10. Swift和Object-C的区别和优缺点
  11. Java整数的所有质因数,用JAVA将一个正整数分解成质因数,例如输入90,打印出90=2*3*3*5...
  12. Hive 安全模式下 Prepare Plan 的时间分析
  13. Android谷歌地图地理编码,使用谷歌地图api iOS反向地理编码
  14. VS2017 编译 EDK2 Stdlib
  15. 【gazebo要素4】传感器插件(Velodyne)
  16. 直线上最多的点数 | leetcode 149
  17. 使用liip在osx系统配置php
  18. Android列表视图(ListView--SimpleAdapter)学习
  19. 线性回归、lasso回归、岭回归以及弹性网络的系统解释
  20. 诊断和响应故障_恢复表和表分区

热门文章

  1. 学JAVA第十三天,方法、方法重载及构造函数
  2. intelj idea安装和配置
  3. 服创大赛第二次讨论_2019-01-19
  4. 生成器(generator)
  5. [代码]--GridControl使用技巧总结,更新中...
  6. Postman怎么用?
  7. cocos2d-x3.6 连连看随机地图实现
  8. [译]36 Days of Web Testing(六)
  9. 未来十年,你的人生目标在哪里?
  10. oracle发生重启动的介绍