LLVM每日谈之十九 LLVM的第一本系统的书(英文)

作者:史宁宁(snsn1984)

LLVM终于有了一本系统的书了——《Getting Started with LLVM Core Libraries》。这本书号称是LLVM的第一本书,但是据说日本早就有两本日文的关于LLVM的书,这个了解的不多。不过可以肯定的是,这本书是英文表述的第一本书。

这本书的覆盖范围很广,从简单的如何安装LLVM一直到各个部分的介绍,以及如何使用这些部分去创建自己的工具,都有所介绍。对于想使用LLVM去创建自己的工具的人,完全是够用的,而且是非常不错的一本书。这也是本书的主要针对群体,毕竟编译器发展到这个阶段,更多的人是如何使用编译器和如果用它去构建自己的工具,而前者的操作十分简单,只需要几条简单的命令就好,有难度的是后者。

对于有更深入的需求的读者,比如打算hacking LLVM的人,这本书依然算是浅的,hacking LLVM最好的办法依然是啃代码,不过我相信这本书依然可以让打算hacking LLVM的人,对各个部分有一个综合的了解。而对于LLVM的初学者来说,这本书也非常不错,可以快速的让初学者对LLVM的架构以及各个部分有一个快速而且系统的了解,这里的关键是系统。因为LLVM本身自己的文档也很多,很多文档也是写的很细致很经典的,一般情况下不容易被超越。但是文档缺少的是一个系统的全面的介绍,这些正是这本书所具有的。

所以,综合来说,对于LLVM的学习者来说,这本书还是很值得一读的。这本书今年刚出,没有中文版,网上可以找到电子版,喜欢LLVM的可以自行搜索。

时间: 2024-10-13 03:06:38

LLVM每日谈之十九 LLVM的第一本系统的书(英文)的相关文章

LLVM每日谈之十九 LLVM的第一本系统的书<Getting Started with LLVM Core Libraries>

作者:史宁宁(snsn1984) LLVM最终有了一本系统的书了--<Getting Started with LLVM Core Libraries>. 这本书号称是LLVM的第一本书,可是据说日本早就有两本日文的关于LLVM的书,这个了解的不多. 只是能够肯定的是,这本书是英文表述的第一本书. 这本书的覆盖范围非常广,从简单的怎样安装LLVM一直到各个部分的介绍,以及怎样使用这些部分去创建自己的工具,都有所介绍. 对于想使用LLVM去创建自己的工具的人.全然是够用的,并且是非常不错的一本书

LLVM每日谈之二十 Everything &amp;&amp; Clang driver

作者:史宁宁(snsn1984) 最近在读<Getting Started with LLVM Core Libraries>,这是读的第一本LLVM的书,很多地方虽然讲的是自己知道的东西,但是也给人耳目一新的感觉,让人感觉之前有些不确定的东西,或者没有联系起来的知识点一下子贯通了,那感觉非常酸爽. 1.先谈谈题目里的Everything. LLVM每日谈之十六中,曾经提到过:Everything is a value.主要讲的是重要的LLVM IR的C++类都是Value的子类,同时在对IR

每日算法之三十九:Pow(x, n)

实现浮点类型的幂运算,函数原型为: double pow(double x, int n) 在求解这个问题的时候是一个很挣扎的过程,因为它不是报错而是一直提示你超出时间,那么必须一次次的考虑怎样降低时间复杂度. 首先最直接的思路是下面这样的,就跟直观的数学求解一样. double pow(double x, int n) { if(n==0) return 1.0; if(n<0) return 1.0/pow(x,-n); return x*pow(x,n-1); } 但是会提示你超出时间,这

经典算法题每日演练——第十九题 双端队列

原文:经典算法题每日演练--第十九题 双端队列 话说大学的时候老师说妹子比工作重要~,工作可以再换,妹子这个...所以...这两个月也就一直忙着Fall in love,嗨,慢慢调整心态吧, 这篇就选一个简单的数据结构聊一聊,话说有很多数据结构都在玩组合拳,比如说:块状链表,块状数组,当然还有本篇的双端队列,是的,它就是 栈和队列的组合体. 一:概念 我们知道普通队列是限制级的一端进,另一端出的FIFO形式,栈是一端进出的LIFO形式,而双端队列就没有这样的限制级,也就是我们可以在 队列两端进行

LLVM每日谈之二十二 llvm-config工具的使用

作者:史宁宁(snsn1984) llvm-config作为LLVM的一个工具,是非常有用的,官方文档(http://llvm.org/docs/CommandGuide/llvm-config.html)关于它的介绍如下: llvm-config makes it easier to build applications that use LLVM. It can print the compiler flags, linker flags and object libraries neede

二十九、w查看系统负载、vmstat命令、top命令、sar命令、nload命令

一.使用w查看系统负载 # w 06:10:09 up  6:20,  1 user,  load average: 0.00, 0.01, 0.05 USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT root     pts/0    192.168.93.1     23:50    1.00s  0.22s  0.02s w 第1行从左至右显示的信息:当前系统时间 up 系统运行时间

每日算法之二十九:Search in Rotated Sorted Array

在一个经过旋转后的有序数组中查找一个目标元素. Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2). You are given a target value to search. If found in the array return its index, otherwise return -1.

【管理心得之十九】组织在人员去留问题上的大忌

场景再现 ====================== {普通职员辞职} HR    :怎么搞的?哪里做的不开心呀? 当事人:没什么,想换个地方.换个环境. HR    :有什么想法,有什么要求可以提吗.组织能做到的一定会满足的. 当事人:毕业到现在已两年了,如今想出去看看大环境. HR    :好吧,既然这样,这几天就办离职手续. {中层管理者辞职} HR    :不会吧,怎么会有这想法? 当事人:没办法,想换个地方.换个环境. HR    :加薪.福利都可以谈的,都是老员工了,有什么不能谈的

Android项目实战(二十九):酒店预定日期选择

原文:Android项目实战(二十九):酒店预定日期选择 先看需求效果图:              几个需求点: 1.显示当月以及下个月的日历 (可自行拓展更多月份) 2.首次点击选择"开始日期",再次点击选择"结束日期" (1).如果"开始日期" "结束日期" 相同  (2).如果"开始日期" "结束日期" 不同,且"结束日期" 晚于 "开始日期&quo