LLVM編譯器原理與實踐 吳建明 吳一昊 9787111763543 【台灣高等教育出版社】

圖書均為代購,正常情形下,訂後約兩周可抵台。
物品所在地:中國大陸
原出版社:機械工業
NT$884
商品編號:
供貨狀況: 尚有庫存

此商品參與的優惠活動

加入最愛
商品介紹
*完成訂單後正常情形下約兩周可抵台
*本賣場提供之資訊僅供參考,以到貨標的為正確資訊。
印行年月:202410*若逾兩年請先於私訊洽詢存貨情況,謝謝。
台灣(台北市)在地出版社,每筆交易均開具統一發票,祝您中獎最高1000萬元。
書名:LLVM編譯器原理與實踐
ISBN:9787111763543
出版社:機械工業
著編譯者:吳建明 吳一昊
叢書名:芯科技前沿技術叢書
頁數:456
所在地:中國大陸 *此為代購商品
書號:1683702
可大量預訂,請先連絡。

內容簡介

LLVM是伊利諾伊大學的一個研究項目,提供一個現代化的,基於SSA的編譯策略,並能夠同時支持靜態和動態的任意編程語言的編譯目標。LLVM由不同的子項目組成,其中許多是正在生產中使用的商業和開源的項目。它也被廣泛用於學術研究。 本書力求將LLVM基礎知識理論與案例實踐融合在一起進行詳細的介紹,幫助讀者理解LLVM工作原理,同時按照應用與設備需要,使用LLVM進行相應的優化與部署。本書包含大量示例和代碼片段,幫助讀者掌握LLVM的編譯器開發環境。 本書共11章,包括編譯和安裝LLVM、LLVM外部項目、LLVM編譯器、Clang前端基礎、Clang架構與實踐示例、LLVM IR實踐、LLVM晶元編譯器實踐示例、LLVM編譯器示例代碼分析、LLVM優化示例、LLVM後端實踐,以及MLIR編譯器。 本書適合演算法、軟體、編譯器、人工智慧、硬體等專業方向的企業工程技術人員、高校師生、科研工作人員和技術管理人員閱讀。

作者簡介

吳建明,上海交通大學模式識別與智能系統專業博士畢業。長期從事人工智慧晶元設計,尤其擅長TVM/LLVM編譯器、AI框架、自動駕駛、晶元製造,嵌入式系統等領域的理論研究與技術創新。長期在一線工作,包括產品設計與代碼實現等,主持和參与過30多項產品的研發。還參与過國家自然科學基金、上海市科委項目,並在核心期刊公開發表過8篇論文,其中6篇是第一作者。

目錄

前言
第1章 編譯和安裝LLVM
1 1 LLVM系統入門
1 1 1 查看LLVM(包括Clang等子項目)
1 1 2 配置和構建LLVM與Clang
1 2 獨立構建
1 3 軟硬體環境要求
1 3 1 硬體環境
1 3 2 軟體環境
1 3 3 主機C++編譯器和標準庫
1 3 4 獲取流行主機C++工具鏈
1 4 LLVM入門
1 4 1 術語和符號
1 4 2 打開LLVM存檔文件
1 4 3 從Git中籤出LLVM源代碼
1 4 4 本地LLVM配置
1 4 5 編譯LLVM套件源代碼
1 4 6 交叉編譯LLVM
1 4 7 LLVM目標文件的位置
1 4 8 可選配置項目
1 5

目錄

布局
1 6 使用LLVM工具鏈的示例
1 7 LLVM常見問題
1 8 LLVM相關鏈接
第2章 LLVM外部項目
2 1 LLDB調試器
2 1 1 LLDB基礎知識
2 1 2 LLDB控制台
2 2 C++標準庫libc
2 2 1 libc++庫概述
2 2 2 Ubuntu下安裝Clang和libc
2 3 compiler-rt運行時庫
2 3 1 compiler-rt項目組成
2 3 2 compiler-rt的作用
2 3 3 平台支持
2 3 4 compiler-rt源代碼結構
2 3 5 構建compiler-rt
2 4 DragonEgg
2 4 1 DragonEgg將LLVM作為GCC後端
2 4 2 DragonEgg實踐
2 5 構建RISC-VLLVM並編譯和運行test-suite
2 5 1 構建RISC-V的前期準備
2 5 2 開始構建
2 5 3 編譯test-suite
2 5 4 運行LLVMtest-suite
2 6 Clang附加工具
第3章 LLVM編譯器
3 1 LLVM與Clang源代碼的下載及編譯
3 1 1 下載並編譯LLVM
3 1 2 Clang源代碼的下載與編譯
3 2 LLVM編譯器基礎結構
3 2 1 LLVM工作原理
3 2 2 LLVM的主要子項目
3 2 3 LLVM與Clang語法
3 3 LLVM三段式編譯
3 3 1 傳統編譯器三段式設計及其實現
3 3 2 LLVM的三段式設計的實現
3 4 LLVM與Clang架構
3 4 1 LLVM與Clang架構簡介
3 4 2 編譯架構特點分析
3 5 LLVM與GCC的區別
3 6 LLVMIR
3 6 1 什麼是LLVMIR
3 6 2 LLVMIR編譯流程
3 6 3 如何得到IR
3 6 4 IR文件鏈接
3 6 5 IR文件編譯流程
3 6 6 IR語法中的關鍵字
3 7 詞法分析與語法分析
3 7 1 詞法分析
3 7 2 AST結構分析
3 8 交叉編譯器
3 8 1 主機與目標機
3 8 2 為什麼要交叉編譯
3 8 3 交叉編譯難點
3 9 後端開發
3 9 1 XLA後端分析
3 9 2 SSA問題分析
3 9 3 目標信息代碼分析
3 10 LLVM示例實踐
3 10 1 如何在ARM上編譯LLVM/Clang
3 10 2 如何編寫LLVMPass
3 10 3 基於LLVM的依賴分析方案
3 11 LLVM數據并行、時間并行和多核并行
第4章 Clang前端基礎
4 1 編譯器Clang會代替GCC嗎
4 1 1 GCC概述
4 1 2 Clang概述
4 1 3 GCC基本設計與示例
4 1 4 GCC與Clang的區別
4 2 使用Clang靜態分析器進行分析調試
4 2 1 靜態分析器概述
4 2 2 靜態分析器庫的結構
4 2 3 靜態分析器工作原理
4 2 4 內部檢查器
4 2 5 關於Clang靜態分析器
4 3 如何進行編譯時間混編優化
4 4 Clang模塊實現原理探究
4 4 1 ModuleMap與Umbrella
4 4 2 模塊的構建
4 4 3 Clang模塊復用機制
4 4 4 PCH與PCM文件
4 5 使用Clang校驗AST
4 5 1 製作Clang命令行工具的初衷
4 5 2 製作Clang命令行工具主要步驟
4 5 3 環境搭建
4 5 4 開發框架選擇
4 5 5 代碼開發
4 6 LLVM與Clang的底層原理
4 6 1 傳統編譯器設計
4 6 2 Clang前端
4 6 3 IR的優化
4 6 4 bitcode
4 6 5 編譯流程總結示例
4 7 自定義Clang命令,利用LLVMPass實現對Objective-C函數的靜態插樁
4 7 1 Objective-C中的常見的函數hook實現思路
4 7 2 什麼是LLVMPass
4 7 3 編譯過程
4 8 指令系統
4 8 1 指令系統概述
4 8 2 指令格式
4 8 3 指令的定址方式
4 8 4 指令的類型與功能
4 8 5 CISC和RISC的比較
第5章 Clang架構與實踐示例
5 1 C語言編譯器Clang
5 1 1 Clang和GCC編譯器架構
5 1 2 Clang起源
5 2 Clang模塊內部實現原理及源代碼分析
5 2 1 編譯參數分析
5 2 2 預處理
5 3 好用的代碼檢查工具
5 4 Clang在Objective-C中的使用
5 4 1 終端使用特點
5 4 2 Clang的簡單使用
5 5 Clang重排對象類結構分析
5 5 1 概述
5 5 2 根類、超類、子類
5 6 使用Clang編譯C程序並在安卓設備中執行
5 7 分析Swift高效的原因
5 7 1 Swift的函數派發機制
5 7 2 結構體定義的內存分配
5 7 3 編譯SIL
5 7 4 Clang編譯流程的缺點
5 7 5 Swift的特點及其編
詳細資料或其他書籍請至台灣高等教育出版社查詢,查後請於PChome商店街私訊告知ISBN或書號,我們即儘速上架。
規格說明
運送方式
已加入購物車
已更新購物車
網路異常,請重新整理