作者:史宁宁(snsn1984)

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>的更多相关文章

  1. [置顶] LLVM每日谈之十五 LLVM自带的examples

    作者:snsn1984 在LLVM源码的目录下,有一个目录叫做examples,这个目录下边有几个LLVM的例子,初学者一般不会太关注这些例子,但是这些例子确实是精华中的精华,在LLVM的学习过程中不 ...

  2. LLVM每日谈之二十 Everything && Clang driver

    作者:史宁宁(snsn1984) 近期在读<Getting Started with LLVM Core Libraries>.这是读的第一本LLVM的书.非常多地方尽管讲的是自己知道的东 ...

  3. LLVM每日谈21 一些编译器和LLVM/Clang代码

    作者:闪亮宁(snsn1984) 一些自己的收藏LLVM/Clang代码,而他自己写一些一点点LLVM/Clang译器的代码.在这里把这些代码库分享出来,欢迎大家交流探讨. 1.crange http ...

  4. Qt浅谈之三十九圆形进度条(已经有50篇了)

    http://blog.csdn.net/taiyang1987912/article/category/2314763

  5. Qt浅谈之四十九俄罗斯方块(代码来自网络)

    一.简介 从网上下载了一个Qt实现的俄罗斯方块单机版的源码,觉得非常有意思,故以博客形式记录下来,以便慢慢来研究.在centos6.6下编译运行(注意程序运行需要读取pro目录的配置文件,若把编译目录 ...

  6. 第十九次ScrumMeeting博客

    第十九次ScrumMeeting博客 本次会议于12月9日(六)22时整在3公寓725房间召开,持续20分钟. 与会人员:刘畅.辛德泰.张安澜.赵奕.方科栋. 1. 每个人的工作(有Issue的内容和 ...

  7. 无废话ExtJs 入门教程十九[API的使用]

    无废话ExtJs 入门教程十九[API的使用] extjs技术交流,欢迎加群(201926085) 首先解释什么是 API 来自百度百科的官方解释:API(Application Programmin ...

  8. Python之路【第十九章】:Django进阶

    Django路由规则 1.基于正则的URL 在templates目录下创建index.html.detail.html文件 <!DOCTYPE html> <html lang=&q ...

  9. Bootstrap <基础二十九>面板(Panels)

    Bootstrap 面板(Panels).面板组件用于把 DOM 组件插入到一个盒子中.创建一个基本的面板,只需要向 <div> 元素添加 class .panel 和 class .pa ...

随机推荐

  1. HTML基础练习

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  2. wpf,vb,位图剪裁的方法

    ‘ 貌似WPF对GDI+不提供支持,要达到剪裁图像的方法,可以使用image.clip,’不过clip只是对图片的一个遮挡拦截效果,并不改变本身的图片资源.‘下面的代码提供了剪裁图片资源的方法. Di ...

  3. nodejs __dirname 与 process.cwd()的区别

    var cwd = process.cwd(); console.log(cwd); console.log(__dirname); 1 2 3 cwd() 是当前执行node命令时候的文件夹地址 _ ...

  4. C# 多线程系列(三)

    线程池 创建线程需要时间,如果有不同的小任务要完成,就可以事先创建许多线程,在应完成这些任务时发出请求.这个线程数最好在需要更多线程时增加,在需要释放资源时减少. 不需要自己创建这样的一个列表.该列表 ...

  5. Django中关于MySQL的bug总结

    bug one: You are trying to add a non-nullable field 'height' to person without a default; we can't d ...

  6. Oracle数据库的导入和导出

    Oracle数据库的导入和导出,是一项重要的的技术活,不但解决了数据库的导入导出,更方便快捷的获得数据. 使用imp和exp导入导出数据 使用exp导出数据 存放目录为\ORACLE_HOME\BIN ...

  7. Linux学习自动化脚本(一)

    https://www.cnblogs.com/handsomecui/p/5869361.html https://blog.csdn.net/daigualu/article/details/76 ...

  8. 西门子Step7中DB块结构导出

    Step7 通过变量表可以导出内存M地址和I,Q,T,C地址的变量,以及DB块的名称.怎么导出DB块的内部结构结构呢.即如何导出结构内的定义呢? 可以通过“选择某个DB块”,通过菜单命令“File&g ...

  9. apicloud图片上传

    app中的图片上传,例如:个人信息页面,上传头像 使用: UIMediaScanner 地址: https://docs.apicloud.com/Client-API/UI-Layout/UIMed ...

  10. 去掉二级页面 tabs 菜单, 修改返回按钮

    imports: [ /*引入的模块 依赖的模块*/ BrowserModule, ComponentsModule, IonicModule.forRoot(MyApp,{ tabsHideOnSu ...