LLVM是什么?


我又不做编译器研究,干嘛要管它?

这是一些朋友想要对LLVM发起的提问,那么今天我们就来看看那款据说很酷炫的编译器——LLVM

LLVM是什么?

LLVM是一个自由软件项目,它是一种编译器基础设施,以C++写成。它是为了任意一种编程语言而写成的程序,利用虚拟技术创造出编译时期、链接时期、运行时期以及“闲置时期”的最优化。它最早以C/C++为实现对象,而目前它已支持包括ActionScript、Ada、D语言、Fortran、GLSL、Haskell、Java字节码、Objective-C、Swift、Python、Ruby、Rust、Scala以及C#等语言。

为什么要懂点LLVM?

利用LLVM,可以分析程序要多久一次来完成某项工作;

改造程序,使其更适用于你的系统;

模拟一个新的处理器架构或操作系统——

只需稍加改动,而不需要自己烧个芯片;

写个内核

对于计算机科学研究者来说,编译器远比他们想象中重要。

相比于从源码到源码的翻译工作,LLVM可以节省你九成精力。

只要你和程序打交道,了解编译器架构就会令你受益。

最后,你需要记住,LLVM不是只用来实现编译优化的!

2018年末,你还可以做的一件最酷的事,就是搞定LLVM!

看雪为你推荐优质课程——

《LLVM编译框架详解》


(11月21日已发布)

讲师介绍:

丰生强 (id:非虫),360企业安全威胁情报中心安全研究员,专注软件安全领域。《Android软件安全与逆向分析》、《macOS软件安全与逆向分析》作者、《Androi软件安全权威指南》作者。

课程大纲:

第一期:LLVM概论

第二期:LLVM安装和编译

第三期:LLVM系统编译详解

第四期:LLVM周边项目介绍-clang.extra.tools、compiler-RT、lldb

第五期:LLVM周边项目介绍-libc++、TestSuits、DragonEgg

第六期:LLVM周边项目介绍-lld、OpenMP、Polly

写下多部专业著作,拥有丰富经验的看雪认证讲师【丰生强】为你精心打造高品质课程—— 《LLVM编译框架详解》。


现在购买只需支付¥50,购买前还可试听第一期内容~!

做最酷的程序员,了解最酷的编译器架构!

最新第六章 已上线!

点击阅读原文,立即查看最新一期!

更新:第6章已上线!最酷的程序员应该知道的【LLVM】!相关推荐

  1. 私人定制情人节告白网站并且部署上线,谁说程序员没有爱!超详细步骤!源码分享!

    私人定制情人节告白网站并且部署上线,谁说程序员没有爱! 文章目录 私人定制情人节告白网站并且部署上线,谁说程序员没有爱! 前言 项目地址: 方法1:部署到自己的ecs服务器 白嫖一个ecs服务器 方法 ...

  2. 酷壳: 程序员技术练级攻略

    http://coolshell.cn/articles/4990.html 前言 你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友 ...

  3. GPT-4加强版Copilot来了!动嘴就能编程,测试申请已开启,网友:程序员已死

    丰色 发自 凹非寺 量子位 | 公众号 QbitAI 用自然语言进行编程的时代真的要来了-- GitHub CEO托马斯·多姆克在官方博客上宣布: 代码辅助工具Copilot进行重大升级,接入GPT- ...

  4. 新人程序员必须知道的,不然等你回过神来的时候,一切已晚矣。

    引言 看到这个标题的时候,相信大部分人的第一反应一定是:卧槽!标题党来了! 是的,你猜对了,-_-. 其实之所以写这篇文章,是因为有一个读者,遇到了人生中一次比较重要的抉择,因而来咨询LZ,而LZ恰好 ...

  5. 金三银四已过,三年Java程序员找不到工作?这样的建议请你接受

    最近有一个程序员朋友有很大的困惑,是一个在深圳干了三年Java后端开发的程序员,找了好久的工作都没有找到.针对他的情况,下面是我给他的一些建议,同时也希望大家能有所收获. 从整个市场环境看:市场经济是 ...

  6. 基金从业-证券投资基金概述第二章重点(了解投资,做好程序员下半生规划)

    废话不多说,上重点: 经济关系的不同 基金:反映的是一种信托关系,是一种收益凭证.投资者购买基金份额成为基金的受益人 股票:反映的是一种所有权关系,一种所有权凭证.投资者购买后成为公司的股东 债券:反 ...

  7. Java已死?九百万程序员说不

    Java没死,事实上它拥有足够的能量让你的应用跑起来.那些对Java吹毛求疵人频繁地聚焦在一些小众问题上,总是和其他技术或者语言做些不公平的对比,这些语言并没有像Java一样得到广泛应用及长远的历史. ...

  8. 敏捷已死:一场程序员们历经20年的失败反叛

    敏捷宣言20周年之际,有两个事实似乎不言自明. 1. 敏捷,作为一个标签,赢了:没有人想被称为非敏捷. 2. 但是,敏捷在实践中远远低于其创始人的革命性思想. 我们是如何走到这一步的?每个人都说他们在 ...

  9. java 已死_Java已死?九百万程序员说不

    Java没死,事实上它拥有足够的能量让你的应用跑起来.那些对Java吹毛求疵人频繁地聚焦在一些小众问题上,总是和其他技术或者语言做些不公平的对比,这些语言并没有像Java一样得到广泛应用及长远的历史. ...

  10. java程序员一天多少行有效代码,持续更新~

    Java程序员应该知道的20个有用的库经验丰富的优秀Java开发人员的一个特点是对API(包括JDK和第三方库)有广泛的了解.今天分享一些Java开发人员应该熟悉的最有用.最基本 程序员经常会因为不编 ...

最新文章

  1. python 人脸检测
  2. 【其他】配置JIRA
  3. 将Qt工程文件转成VC工程文件的小工具
  4. Flask框架(flask中的request对象,获取请求参数,保存上传的文件)
  5. NSTimer不准确与GCDTimer详解
  6. SPOJ SORTBIT Sorted bit squence (数位DP,入门)
  7. 操作系统学习笔记-03-操作系统的发展和分类
  8. 使用 js 设置组合快捷键,支持多个组合键定义,还支持 React
  9. WxParse手机端报console.dir错误
  10. C++调用matlab接口
  11. OpenCV总结:图像增强算法实现(直方图均衡化、拉普拉斯、Log、Gamma)
  12. jsp需要多少java基础_Java Web基础面试题你知道多少?
  13. linux文件系统,启动流程
  14. event.type 事件属性
  15. matlab方差分析
  16. 推挽变换器matlab仿真,双驱动推挽DC-DC变换器方案分享之设计原理简析
  17. endnote X7 超级初学者教程
  18. cisp-pte渗透工程师考试总结
  19. 【零散知识】最大类间方差法(大津法,Otsu)
  20. nb-iot和4G各有什么优势

热门文章

  1. php简单使用shmop函数创建共享内存减少服务器负载
  2. Mongo_安装 centos
  3. 10_android打包的过程
  4. python概念-各类绑定的概念和property的变态一面
  5. tab切换中的滚动条下拉分页带来的问题
  6. [原创]java WEB学习笔记91:Hibernate学习之路-- -HQL 迫切左外连接,左外连接,迫切内连接,内连接,关联级别运行时的检索策略 比较。理论,在于理解...
  7. select选中值传递到后台action中
  8. LoadRunner 测试脚本
  9. ExcuteScalar ExecuteNonQuery
  10. matlab函数_连通区域