中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >>
計算機科學叢書LLVM編譯器實戰教程

包郵 計算機科學叢書LLVM編譯器實戰教程

出版社:機械工業出版社出版時間:2018-04-01
開本: 16開 頁數: 212
中 圖 價:¥55.5(7.0折) 定價  ¥79.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

計算機科學叢書LLVM編譯器實戰教程 版權信息

  • ISBN:9787111631972
  • 條形碼:9787111631972 ; 978-7-111-63197-2
  • 裝幀:一般膠版紙
  • 冊數:暫無
  • 重量:暫無
  • 所屬分類:>>

計算機科學叢書LLVM編譯器實戰教程 本書特色

LLVM是一個*水平的編譯器框架。它包含有豐富軟件庫,可以為編譯器的初學者提供良好的學習體驗,并大大降低編譯器開發的學習門檻。
本書的前半部分將向您介紹怎么樣去配置、構建、和安裝LLVM的不同軟件庫、工具和外部項目。接下來,本書的后半部分將向您介紹LLVM的各種設計細節,并逐步地講解LLVM的各個編譯步驟:前段、中間表示(IR)、后端、即時編譯(JIT)引擎、跨平臺編譯和插件接口。本書包含有大量翔實的示例和代碼片段,以幫助讀者平穩順利的掌握LLVM的編譯器開發環境。

計算機科學叢書LLVM編譯器實戰教程 內容簡介

LLVM是一個靠前水平的編譯器框架。它包含有豐富軟件庫,可以為編譯器的初學者提供良好的學習體驗,并大大降低編譯器開發的學習門檻。本書的前半部分將向您介紹怎么樣去配置、構建、和安裝LLVM的不同軟件庫、工具和外部項目。接下來,本書的后半部分將向您介紹LLVM的各種設計細節,并逐步地講解LLVM的各個編譯步驟:前段、中間表示(IR)、后端、即時編譯(JIT)引擎、跨平臺編譯和插件接口。本書包含有大量翔實的示例和代碼片段,以幫助讀者平穩順利的掌握LLVM的編譯器開發環境。

計算機科學叢書LLVM編譯器實戰教程 目錄

出版者的話
譯者序
前言
關于作者
關于審稿人
第1章 構建和安裝LLVM 1
1.1 了解LLVM版本 1
1.2 獲取預構建包 2
1.2.1 獲取官方預構建二進制文件 2
1.2.2 使用軟件包管理器 3
1.3 從源代碼構建 4
1.3.1 系統要求 4
1.3.2 獲取源代碼 4
1.3.3 構建和安裝LLVM 5
1.3.4 Windows和Microsoft Visual Studio 10
1.3.5 Mac OS X和Xcode 12
1.4 總結 14
第2章 外部項目 15
2.1 Clang外部項目介紹 15
2.1.1 構建和安裝Clang外部工具 16
2.1.2 理解Compiler-RT 17
2.1.3 實驗Compiler-RT 17
2.2 使用DragonEgg插件 18
2.2.1 構建DragonEgg 19
2.2.2 使用DragonEgg和LLVM工具了解編譯流程 19
2.2.3 理解LLVM測試套件 20
2.2.4 使用LLDB 21
2.2.5 libc 標準庫介紹 23
2.3 總結 25
第3章 工具和設計 26
3.1 LLVM的基本設計原理及其歷史 26
3.2 理解目前的LLVM 27
3.3 與編譯器驅動程序交互 29
3.4 使用獨立工具 30
3.5 深入LLVM內部設計 33
3.5.1 了解LLVM的基本庫 33
3.5.2 介紹LLVM的C 慣例 34
3.5.3 演示可插拔的流程接口 37
3.6 編寫你的**個LLVM項目 38
3.6.1 編寫Makefile 38
3.6.2 編寫代碼 40
3.7 關于LLVM源代碼的一般建議 41
3.7.1 將代碼理解為文檔 42
3.7.2 請求社區的幫助 42
3.7.3 應對更新:使用SVN日志作為文檔 42
3.7.4 結束語 44
3.8 總結 44
第4章 前端 45
4.1 Clang簡介 45
4.1.1 前端操作 46
4.1.2 庫 47
4.1.3 理解Clang診斷 49
4.2 Clang前端階段介紹 52
4.2.1 詞法分析 52
4.2.2 語法分析 58
4.2.3 語義分析 63
4.2.4 生成LLVM IR代碼 65
4.3 完整的例子 65
4.4 總結 68
第5章 LLVM中間表示 69
5.1 概述 69
5.2 操作IR格式的基本工具示例 71
5.3 LLVM IR語法介紹 71
5.4 編寫自定義的LLVM IR生成器 76
5.4.1 構建和運行IR生成器 79
5.4.2 使用C 后端編寫代碼來生成IR構造 80
5.5 在IR層執行優化 80
5.5.1 編譯時優化和鏈接時優化 80
5.5.2 發現*佳編譯器流程 82
5.5.3 流程間的依賴關系 83
5.5.4 了解流程API 85
5.5.5 自定義流程 85
5.6 總結 89
第6章 后端 90
6.1 概述 90
6.2 后端代碼結構介紹 92
6.3 后端庫介紹 93
6.4 如何使用TableGen實現LLVM后端 94
6.4.1 TableGen語言 95
6.4.2 代碼生成器.td文件介紹 96
6.5 指令選擇階段介紹 100
6.5.1 SelectionDAG類 100
6.5.2 降級 102
6.5.3 DAG合并以及合法化 103
6.5.4 DAG到DAG指令選擇 104
6.5.5 指令選擇過程可視化 107
6.5.6 快速指令選擇 107
6.6 調度器 107
6.6.1 指令執行進程表 108
6.6.2 競爭檢測 109
6.6.3 調度單元 109
6.7 機器指令 109
6.8 寄存器分配 110
6.8.1 寄存器合并器 111
6.8.2 虛擬寄存器重寫 114
6.8.3 編譯目標的信息 115
6.9 前序代碼和結束代碼 116
6.10  機器代碼框架介紹 116
6.10.1  MC指令 116
6.10.2  代碼輸出 117
6.11  自定義機器流程 119
6.12 總結 121
第7章 即時編譯器 122
7.1 LLVM JIT引擎的基礎知識介紹 122
7.1.1 介紹執行引擎 123
7.1.2 內存管理 124
7.2 llvm::JIT框架介紹 124
7.2.1 將二進制大對象寫入內存 125
7.2.2 使用JITMemoryManager 125
7.2.3 目標代碼輸出器 125
7.2.4 目標信息 127
7.2.5 學習如何使用JIT類 127
7.3 llvm::MCJIT框架介紹 131
7.3.1 MCJIT引擎 131
7.3.2 MCJIT中模塊編譯過程 132
7.3.3 使用MCJIT引擎 135
7.4 使用LLVM JIT編譯工具 137
7.4.1 使用lli工具 137
7.4.2 使用llvm-rtdyld工具 138
7.5 其他資源 139
7.6 總結 139
第8章 跨平臺編譯 140
8.1 GCC和LLVM對比 140
8.2 目標三元組介紹 141
8.3 準備自己的工具鏈 142
8.3.1 標準C/C 庫 143
8.3.2 運行時庫 143
8.3.3 匯編器和鏈接器 144
8.3.4 Clang前端 144
8.4 用Clang命令行參數進行交叉編譯 145
8.4.1 針對目標的驅動程序選項 145
8.4.2 依賴包 145
8.4.3 交叉編譯 146
8.4.4 更改系統根目錄 148
8.5 生成Clang交叉編譯器 149
8.5.1 配置選項 149
8.5.2 構建和安裝基于Clang的交叉編譯器 149
8.5.3 其他構建方法 150
8.6 測試 151
8.6.1 開發板 151
8.6.2 模擬器 151
8.7 其他資源 152
8.8 總結 152
第9章 Clang靜態分析器 153
9.1 靜態分析器的作用 153
9.1.1 傳統警告信息和Clang靜態分析器比較 153
9.1.2 符號執行引擎的高效性 156
9.2 測試靜態分析器 158
9.2.1 使用驅動程序與使用編譯器 158
9.2.2 了解可用的檢查器 158
9.2.3 在Xcode IDE中使用靜態分析器 160
9.2.4 生成HTML格式的圖形
9.2.5 處理大型項目 161
9.3 使用自定義的檢查器擴展靜態分析器 164
9.3.1 熟悉項目架構 164
9.3.2 自定義檢查器
展開全部

計算機科學叢書LLVM編譯器實戰教程 作者簡介

布魯諾·卡多索·洛佩斯(Bruno Cardoso Lopes)在巴西坎皮納斯大學獲得計算機科學博士學位。自2007年以來,他一直是LLVM的貢獻者,從頭開始實現MIPS后端,并且已經維護了幾年。另外,他還編寫了x86 AVX支持方案,并改進了ARM匯編器。他的研究興趣包括代碼壓縮技術和對ISA進行位寬壓縮。之前他還開發了Linux和FreeBSD操作系統的驅動程序。

拉斐爾·奧勒(Rafael Auler)是巴西坎皮納斯大學的博士生,并擁有該大學計算機科學碩士學位和計算機工程學士學位。在作為碩士生期間,他編寫了一個可以根據體系結構描述文件自動生成LLVM后端的概念驗證工具。目前,他的博士研究課題包括動態二進制翻譯、即時編譯器和計算機體系結構。 Rafael還是微軟研究院2013年研究生研究獎學金獲得者。

商品評論(0條)
暫無評論……
書友推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 江苏全风,高压风机,全风环保风机,全风环形高压风机,防爆高压风机厂家-江苏全风环保科技有限公司(官网) | 深圳APP开发_手机软件APP定制外包_小程序开发公司-来科信 | 三效蒸发器_多效蒸发器价格_四效三效蒸发器厂家-青岛康景辉 | 大通天成企业资质代办_承装修试电力设施许可证_增值电信业务经营许可证_无人机运营合格证_广播电视节目制作许可证 | YT保温材料_YT无机保温砂浆_外墙保温材料_南阳银通节能建材高新技术开发有限公司 | 防弹玻璃厂家_防爆炸玻璃_电磁屏蔽玻璃-四川大硅特玻科技有限公司 | 盛源真空泵|空压机-浙江盛源空压机制造有限公司-【盛源官网】 | 有声小说,听书,听小说资源库-听世界网 | 同步带轮_同步带_同步轮_iHF合发齿轮厂家-深圳市合发齿轮机械有限公司 | 广东风淋室_广东风淋室厂家_广东风淋室价格_广州开源_传递窗_FFU-广州开源净化科技有限公司 | 细胞染色-流式双标-试剂盒免费代做-上海研谨生物科技有限公司 | 鼓风干燥箱_真空烘箱_高温干燥箱_恒温培养箱-上海笃特科学仪器 | 精密光学实验平台-红外粉末压片机模具-天津博君 | 冷轧机|两肋冷轧机|扁钢冷轧机|倒立式拉丝机|钢筋拔丝机|收线机-巩义市华瑞重工机械制造有限公司 | 环境模拟实验室_液体-气体控温机_气体控温箱_无锡双润冷却科技有限公司 | 地磅-地秤-江阴/无锡地磅-江阴天亿计量设备有限公司_ | 铸铁平台,大理石平台专业生产厂家_河北-北重机械 | 企典软件一站式企业管理平台,可私有、本地化部署!在线CRM客户关系管理系统|移动办公OA管理系统|HR人事管理系统|人力 | 佛山市德信昌电子有限公司| 基业箱_环网柜_配电柜厂家_开关柜厂家_开关断路器-东莞基业电气设备有限公司 | 佛山市德信昌电子有限公司 | 除尘布袋_液体过滤袋_针刺毡滤料-杭州辉龙过滤技术有限公司 | 圣才学习网-考研考证学习平台,提供万种考研考证电子书、题库、视频课程等考试资料 | 口信网(kousing.com) - 行业资讯_行业展会_行业培训_行业资料 | 校园文化空间设计-数字化|中医文化空间设计-党建|法治廉政主题文化空间施工-山东锐尚文化传播公司 | 泰国试管婴儿_泰国第三代试管婴儿_泰国试管婴儿费用/多少钱_孕泰来 | 防水试验机_防水测试设备_防水试验装置_淋雨试验箱-广州岳信试验设备有限公司 | 长沙发电机-湖南发电机-柴油发电机供应厂家-长沙明邦智能科技 | 上海办公室设计_办公楼,写字楼装修_办公室装修公司-匠御设计 | 网带通过式抛丸机,,网带式打砂机,吊钩式,抛丸机,中山抛丸机生产厂家,江门抛丸机,佛山吊钩式,东莞抛丸机,中山市泰达自动化设备有限公司 | 防爆型气象站_农业气象站_校园气象站_农业四情监测系统「山东万象环境科技有限公司」 | 注塑_注塑加工_注塑模具_塑胶模具_注塑加工厂家_深圳环科 | 珠海冷却塔降噪维修_冷却塔改造报价_凉水塔风机维修厂家- 广东康明节能空调有限公司 | 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 泰来华顿液氮罐,美国MVE液氮罐,自增压液氮罐,定制液氮生物容器,进口杜瓦瓶-上海京灿精密机械有限公司 | LED显示屏_LED屏方案设计精准报价专业安装丨四川诺显科技 | 电子万能试验机_液压拉力试验机_冲击疲劳试验机_材料试验机厂家-济南众标仪器设备有限公司 | 乳化沥青设备_改性沥青设备_沥青加温罐_德州市昊通路桥工程有限公司 | 空气弹簧|橡胶气囊|橡胶空气弹簧-上海松夏减震器有限公司 | 汽车整车综合环境舱_军标砂尘_盐雾试验室试验箱-无锡苏南试验设备有限公司 | 超声波_清洗机_超声波清洗机专业生产厂家-深圳市好顺超声设备有限公司 |