| *完成訂單後正常情形下約兩周可抵台。 *本賣場提供之資訊僅供參考,以到貨標的為正確資訊。 印行年月: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或書號,我們即儘速上架。 |