查看原文
其他

最酷的程序员应该知道的【LLVM】!

小雪 看雪学院 2019-05-25


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编译框架详解》



讲师介绍:


丰生强 (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,购买前还可试听第一期内容~!


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



最新第六章 已上线!



更多优质课程等你Pick!






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

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存