LLVM每日谈之十九 LLVM的第一本系统的书<Getting Started with LLVM Core Libraries>
LLVM最终有了一本系统的书了——《Getting Started with LLVM Core Libraries》。
这本书号称是LLVM的第一本书,可是据说日本早就有两本日文的关于LLVM的书,这个了解的不多。
只是能够肯定的是,这本书是英文表述的第一本书。
这本书的覆盖范围非常广,从简单的怎样安装LLVM一直到各个部分的介绍,以及怎样使用这些部分去创建自己的工具,都有所介绍。
对于想使用LLVM去创建自己的工具的人。全然是够用的,并且是非常不错的一本书。这也是本书的主要针对群体。毕竟编译器发展到这个阶段,很多其它的人是怎样使用编译器和假设用它去构建自己的工具。而前者的操作十分简单,仅仅须要几条简单的命令就好。有难度的是后者。
对于有更深入的需求的读者,比方打算hacking LLVM的人,这本书依旧算是浅的。hacking LLVM最好的办法依旧是啃代码,只是我相信这本书依旧能够让打算hacking LLVM的人,对各个部分有一个综合的了解。
而对于LLVM的刚開始学习的人来说,这本书也非常不错,能够高速的让刚開始学习的人对LLVM的架构以及各个部分有一个高速并且系统的了解。这里的关键是系统。由于LLVM本身自己的文档也非常多,非常多文档也是写的非常仔细非常经典的,普通情况下不easy被超越。
可是文档缺少的是一个系统的全面的介绍。这些正是这本书所具有的。
所以,综合来说。对于LLVM的学习者来说。这本书还是非常值得一读的。这本书今年刚出,没有中文版,网上能够找到电子版,喜欢LLVM的能够自行搜索。
LLVM每日谈之十九 LLVM的第一本系统的书<Getting Started with LLVM Core Libraries>的更多相关文章
- [置顶] LLVM每日谈之十五 LLVM自带的examples
作者:snsn1984 在LLVM源码的目录下,有一个目录叫做examples,这个目录下边有几个LLVM的例子,初学者一般不会太关注这些例子,但是这些例子确实是精华中的精华,在LLVM的学习过程中不 ...
- LLVM每日谈之二十 Everything && Clang driver
作者:史宁宁(snsn1984) 近期在读<Getting Started with LLVM Core Libraries>.这是读的第一本LLVM的书.非常多地方尽管讲的是自己知道的东 ...
- LLVM每日谈21 一些编译器和LLVM/Clang代码
作者:闪亮宁(snsn1984) 一些自己的收藏LLVM/Clang代码,而他自己写一些一点点LLVM/Clang译器的代码.在这里把这些代码库分享出来,欢迎大家交流探讨. 1.crange http ...
- Qt浅谈之三十九圆形进度条(已经有50篇了)
http://blog.csdn.net/taiyang1987912/article/category/2314763
- Qt浅谈之四十九俄罗斯方块(代码来自网络)
一.简介 从网上下载了一个Qt实现的俄罗斯方块单机版的源码,觉得非常有意思,故以博客形式记录下来,以便慢慢来研究.在centos6.6下编译运行(注意程序运行需要读取pro目录的配置文件,若把编译目录 ...
- 第十九次ScrumMeeting博客
第十九次ScrumMeeting博客 本次会议于12月9日(六)22时整在3公寓725房间召开,持续20分钟. 与会人员:刘畅.辛德泰.张安澜.赵奕.方科栋. 1. 每个人的工作(有Issue的内容和 ...
- 无废话ExtJs 入门教程十九[API的使用]
无废话ExtJs 入门教程十九[API的使用] extjs技术交流,欢迎加群(201926085) 首先解释什么是 API 来自百度百科的官方解释:API(Application Programmin ...
- Python之路【第十九章】:Django进阶
Django路由规则 1.基于正则的URL 在templates目录下创建index.html.detail.html文件 <!DOCTYPE html> <html lang=&q ...
- Bootstrap <基础二十九>面板(Panels)
Bootstrap 面板(Panels).面板组件用于把 DOM 组件插入到一个盒子中.创建一个基本的面板,只需要向 <div> 元素添加 class .panel 和 class .pa ...
随机推荐
- 【BZOJ1306】match循环赛
预先警告:我的做法代码量比较大 看完题目后看到数据n<=8, 不难想到这题可以写深搜来做 分析 比如说以数据: 3 3 3 3 为例子, 进行了三场比赛:AB AC BC: 我们只要搜索每场比赛 ...
- android黑科技系列——微信定位聊天记录中照片的位置信息插件开发详解
一.前言 最近关于微信中,朋友之间发送原图就可能暴露你的位置信息,其实这个问题不在于微信,微信是为了更好的体验效果,才有发送原图功能,而对于拍照,发送普通图片微信后台都会过滤图片的exif信息,这样就 ...
- 如何使用Visual Studio调试C#程序
当代码不能正常运行时,可以通过调试定位错误.常用的程序调试操作包括设置断点.开始.中断和停止程序的执行.单步执行程序以及使程序运行到指定的位置.下面将对这几种常用的程序调试操作进行详细地介绍. 1.断 ...
- Net.Json 常用例子
#JsonConvert 例子 内容主要都是官方的例子,加上一些中文注释而已. 主要方便自己查询,分享一份出来. 参考文档: https://www.newtonsoft.com/json/help/ ...
- OpenCv: 二维坐标的旋转方程
1. 可以写成一个矩阵的形式,也可以写成向量的形式: b 为选转角度加pi/2 x1 = x cos(b) - ysin(b) ; y1 = x sin(b) + y cos(b).
- Reducing the Dimensionality of Data with Neural Networks:神经网络用于降维
原文链接:http://www.ncbi.nlm.nih.gov/pubmed/16873662/ G. E. Hinton* and R. R. Salakhutdinov . Science. ...
- Metadata
元数据是关于数据的组织.数据域及其关系的信息,简言之,元数据就是关于数据的数据. Metadata is "data [information] that provides informat ...
- PyCharm 恢复默认设置 | JetBrains IDE 配置文件安装目录
网上的答案为什么都乱七八糟并且全都全篇一律?某度知道是发源地? 先说 Mac 按需运行下面的 rm 删除命令 # Configuration rm -rf ~/Library/Preferences/ ...
- eas之数据融合
1.如何进行自由融合自由融合无须指定区域,KDTable将根据指定的融合模式,融合相邻且值相等的单元.// 自由行融合table.getMergeManager().setMergeMode(KDTM ...
- Parsing error: The keyword 'export' is reserved && error Parsing error: Unexpected token <
如果你也在使用eslint,也报了如上错误,可以尝试: $ npm install babel-eslint --save-dev 然后,加上: rules: { "parser" ...