Lua 設計與實現 Lua设计与实现
codedump
- 出版商: 人民郵電
- 出版日期: 2017-08-01
- 定價: $294
- 售價: 7.9 折 $232
- 語言: 簡體中文
- 頁數: 186
- 裝訂: 平裝
- ISBN: 7115465371
- ISBN-13: 9787115465375
-
相關分類:
程式語言
-
相關翻譯:
月亮般輕盈:用 Lua 成為指令稿語言大師 (繁中版)
立即出貨 (庫存 < 3)
買這商品的人也買了...
-
深入淺出物件導向分析與設計 (Head First Object-Oriented Analysis and Design)$880$695 -
Hadoop 管理手冊 (Hadoop Operations)$580$493 -
Continuous Delivery 中文版:利用自動化的建置、測試與部署完美創造出可信賴的軟體發佈 (Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation)$650$507 -
$450LLVM Cookbook中文版 -
$301軟技能代碼之外的生存指南 (Soft Skills : The software developer's life manual) -
$414Lua 遊戲 AI 開發指南 (Learning Game AI Programming with Lua) -
$474數據科學家養成手冊 -
TensorFlow + Keras 深度學習人工智慧實務應用$590$460 -
寫程式前就該懂的演算法 ─ 資料分析與程式設計人員必學的邏輯思考術 (Grokking Algorithms: An illustrated guide for programmers and other curious people)$390$308 -
$312Web API 的設計與開發 (Web API : the Good Parts) -
$301區塊鏈核心算法解析 -
Deep Learning|用 Python 進行深度學習的基礎理論實作$580$458 -
$165編程風格 : 好代碼的邏輯 (Exercises in Programming Style) -
網站可靠性工程|Google 的系統管理之道 (Site Reliability Engineering: How Google Runs Production Systems)(SRE)-*外觀稍有瑕疵,不介意者再下單$780$616 -
演算法圖鑑:26種演算法 + 7種資料結構,人工智慧、數據分析、邏輯思考的原理和應用 step by step 全圖解$450$356 -
精通 Git. 2/e (Pro Git, 2/e)$534$507 -
$403深入淺出 Webpack -
人工智能基礎 (高中版)$210$200 -
FB官方推薦跨平台遊戲引擎:Cocos2d-x 實際演練之JS篇$590$502 -
Lua 程序設計, 4/e (Programming in Lua, 4/e)$534$507 -
自己動手實現 Lua:虛擬機、編譯器和標準庫$534$507 -
$479讓工作化繁為簡: 用 Python 實現辦公自動化 -
Python 功力提升的樂趣|寫出乾淨程式碼的最佳實務 (Beyond the Basic Stuff with Python)$500$375 -
Lua 解釋器構建:從虛擬機到編譯器$594$564 -
Rust 最佳入門與實戰$1,000$790
相關主題
商品描述
本書基於Lua 5.1.4版本討論了Lua語言的設計原理,全書共分三部分:前部分講解數據結構(如通用數據是如何表示的)、字符串以及表類型的實現原理;中間部分是本書重要的部分,主要討論了虛擬機的實現;第三部分討論了垃圾回收、模塊實現、熱更新、協程等的實現原理。
作者簡介
作者網名codedump,長期從事因特網後端服務開發工作。曾經在網易等公司從事遊戲服務器後臺開發,在網絡遊戲開發工作期間接觸到使用C++編寫服務核心引擎和使用Lua腳本編寫遊戲邏輯的技術組合後,對Lua產生了濃厚的興趣,遂開始研究其實現原理,陸續公佈於網絡。個人博客:www.codedump.info。
目錄大綱
第1章概述1
1.1前世今生1
1.2源碼組織5
1.3 Lua虛擬機工作流程6
第一部分基礎數據類型
第2章Lua中的數據類型10
2.1 C語言中實現通用數據結構的一般做法10
2.2 Lua通用數據結構的實現11
第3章字符串16
3.1概述16
3.2字符串實現18
第4章表24
4.1數據結構24
4.2操作算法26
4.2.1查找26
4.2.2新增元素27
4.2.3疊代33
4.2. 4取長度操作33
第二部分虛擬機
第5章Lua虛擬機36
5.1 Lua執行過程概述36
5.2數據結構與棧43
5.3指令的解析46
5.4指令格式47
5.5指令的執行53
5.6調試工具55
5.6.1 GDB調試55
5.6.2使用ChunkSpy57
第6章指令的解析與執行61
6.1 Lua詞法61
6.2賦值類指令64
6.2.1局部變量64
6.2.2全局變量70
6.3表相關的操作指令72
6.3.1創建表72
6.3.2查詢表78
6.3.3元表的實現原理79
6.4函數相關的操作指令84
6.4.1相關數據結構85
6.4.2函數的定義90
6.4 .3函數的調用與返回值的處理94
6.4.4調用成員函數99
6.4.5 UpValue與閉包100
6.5數值計算類指令105
6.6關係邏輯類指令107
6.6.1相關指令108
6.6.2理論基礎108
6.6.3相關數據結構及函數111
6.6.4關係類指令114
6.6.5邏輯類指令117
6.7循環類指令121
6.7.1理論基礎122
6.7.2 for循環指令122
6.7.3其他循環129
第三部分獨立功能的實現
第7章GC算法132
7.1原理132
7.2數據結構135
7.3具體流程138
7.3.1新創建對象138
7.3.2初始化階段140
7.3.3掃描標記階段142
7.3.4回收階段147
7.3.5結束階段148
7.4進度控制150
第8章環境與模塊152
8.1環境相關的變量152
8.2模塊157
8.2.1模塊的加載157
8.2.2模塊的編寫159
8.2.3模塊的熱更新原理161
第9章調試器工作原理163
9.1鉤子功能163
9.2得到當前程序信息164
9.3打印變量165
9.4查看文件內容166
9.5斷點的添加166
9.6查看當前堆棧信息167
9.7 step和next指令的實現167
第10章異常處理169
10.1原理169
10.2 Lua實現170
第11章協程175
11.1概念175
11.2相關的API177
11.3實現180
11.4對稱協程和非對稱協程184
附錄A參考資料187


