Advertisement

LLVM基本概念入门教程

阅读量:

入职新公司以后,开始着手基于LLVM开发编译器,之前在前东家那里主要做gcc的开发,所以也算是有点基础,但拿到LLVM后,除了知道clang a.c -o a之外,好像其他的都有点差异。现在经过了小一个月的学习,也算有点收获。因为网上关于LLVM的中文资料一直也不多,即使能找到的一些,也都是停留在怎么使用的层面,对于编译器开发工程师入门来说,感觉完全不够,所以我写写基础概念,能帮到大家也挺好的。

本文的参考资料主要是官网的资料,在自己进行摸索和汇编的基础上整理成文。本文需要一定的编译器基础知识。

有任何建议或疑问时,请随时留言。

安装与使用

这部分内容暂不做详细讨论。由于相关资源也非常丰富,在此略过不谈。通过内置于LLVM框架中的Clang实现模块完成了对整个LLVM体系以及其自身的整合,并实现了与标准编译器如gcc的一致性接口。因此,在实际应用中选择基于gcc的传统编译器可能会更加便捷。

LLVM和Clang的背景

他的初始编写者是一位传奇人物以他的名字命名的Nondot.org sabre网站上的Chris Lattner(个人主页)。他在研究生阶段的研究重点是编译器优化领域并发表了多篇论文其中最引人注目的是他博士阶段提出的那套涵盖编译阶段

全部评论 (0)

还没有任何评论哟~