从今天起,写一本关于LLVM的书----《深入理解LLVM》

简介:        一直想写一本关于深入学习LLVM的书,这个想法有了很久了,但是一直没有机会动手。现在虽然很忙,但是依然觉的有必要马上动手去做这个事情。任何事情都是一点一点积累起来的,如果一直不动手,什么都做不成。
       一直想写一本关于深入学习LLVM的书,这个想法有了很久了,但是一直没有机会动手。现在虽然很忙,但是依然觉的有必要马上动手去做这个事情。任何事情都是一点一点积累起来的,如果一直不动手,什么都做不成。还有句话:活在当下。抓紧时间去做想做的事情,才不会给自己的人生留遗憾。
       现在关于LLVM的书,只见过一本英文的《 Getting Started with LLVM Core Libraries》,据说还有一本日文的更早,但是一直没见过,有待调查补充。所以我很期待这本书能成为第一本中文的关于LLVM的书。因为这不仅仅是关乎语言的问题,也是关乎国内研究LLVM的一个进展问题。国内确实很多人在LLVM社区混的不错,也有人做的很深入,但是不可否认的是现在依然没有一本真正介绍LLVM的中文的书,这对LLVM在中国的推广,包括让更多的人更好的学习LLVM有着重大的意义。
       所以,我写这本书的 主要目的是有两个。第一,可以给需要学习LLVM的人提供一点中文的资料,让更多的人可以方便的接触LLVM和学习LLVM。毕竟不是谁都可以轻易hold住那一大堆的英文文档和已经发展这么久的一大堆代码。第二,我希望借写这本书的这个机会,努力的提高自己对LLVM的理解,提高自己的技术水平,在不断的总结和学习中提供自己。总结起来,这似乎是一件利人利己的事情,那就更需要快马加鞭、保质保量的完成了。
       这本书的名字就暂定《深入理解LLVM》。内容主要包括四大部分。第一部分,介绍LLVM的整体情况。从LLVM的起源、发展历史和现状入手,介绍LLVM的基本情况。然后对LLVM的框架、子项目组织结构、核心库和代码结构等进行介绍。第二部分,介绍LLVM的核心库。这部分主要介绍LLVM核心库的作用和如何在不涉及核心库内部代码的情况下去使用这些核心库。这部分内容,《Getting Started with LLVM Core Libraries》这本书介绍的就非常不错。第三部分,介绍LLVM的源码。挑选LLVM的具有代表性的源码进行介绍和分析,展现给读者分析代码的方法和技巧,重点在于培养读者自己分析代码的能力。在介绍具有代表性的代码的同时,也介绍相关的编译理论知识。第四部分,项目实例。针对性的选择基本不同类型的项目,通过实际的代码来实际项目中对LLVM的深入理解和使用。
       之前关于LLVM/Clang零零散散的写过一些博客,但是很不系统,内容也不完整,要想写成一本书的话,还有很多的工作需要去做。同时,之前我只完成(出版)过长篇小说,没有写技术书籍的经验,这些都将成为之后将要面临的问题。不管面临的问题是什么,是问题就有解决的办法,希望一切顺利!
                                                                                                                              2015年3月7日晚于长春
目录
相关文章
|
数据采集 机器学习/深度学习 监控
Arm Coresight 介绍
Coresight 是 ARM 架构上的一款嵌入式系统监控和调试工具,能够为系统管理员和开发人员提供便捷的系统监控和调试功能。该平台可以实时追踪和分析处理器上的活动,以深入了解潜在的性能瓶颈和问题。本文将介绍Coresight的概念、优势及其安装、配置、故障排除和调试等方面的内容,并探讨其未来发展方向和重要性。
2135 1
|
存储 缓存 Java
仅花200行代码,如何将60万行的RocksDB改造成协程
采用少量手动修改+自动代码转换的方式,将大型多线程程序改造成协程。在某些重IO、高并发的场景中,帮助业务取得了性能翻倍的效果。
56017 3
仅花200行代码,如何将60万行的RocksDB改造成协程
|
11月前
|
前端开发 编译器 C++
什么是LLVM项目?
什么是LLVM项目?
427 37
|
11月前
|
机器学习/深度学习 算法 编译器
Python程序到计算图一键转化,详解清华开源深度学习编译器MagPy
【10月更文挑战第26天】MagPy是一款由清华大学研发的开源深度学习编译器,可将Python程序一键转化为计算图,简化模型构建和优化过程。它支持多种深度学习框架,具备自动化、灵活性、优化性能好和易于扩展等特点,适用于模型构建、迁移、部署及教学研究。尽管MagPy具有诸多优势,但在算子支持、优化策略等方面仍面临挑战。
333 3
|
12月前
|
存储 监控 算法
ZooKeeper核心知识点整理,收藏再看!
ZooKeeper核心知识点整理,收藏再看!
218 0
ZooKeeper核心知识点整理,收藏再看!
|
Docker 容器
docker run
【9月更文挑战第08天】
666 1
|
前端开发 C语言 iOS开发
基于LLVM的编译原理简明教程 (1) - 写编译器越来越容易了
跟学院派的厚书给大家的印象不同,其实用LLVM写个简单的编译器是件容易的事情,因为大部分事情LLVM都替我们做了。
8520 0
|
NoSQL 关系型数据库 MySQL
你了解微服务的超时传递吗?
你了解微服务的超时传递吗?
|
Linux Perl
如何在Linux中高效查找大文件
在Linux中查找大文件的方法包括使用find(如`find /path/to/search -size 100M`查找100MB文件),du(如`du -ah /path/to/search | awk '$1 ~ /M$/ && $1 > 100 {print}'`查找大于100MB的文件),ls结合排序(如`ls -lhS /path/to/search | head -n 10`显示最大10个文件)和GUI工具(Nautilus、Thunar等)。选择方法要考虑查找范围、结果需求和用户熟悉程度。注意权限和验证结果,参考相关文档以获取更多帮助。
1310 0