Lua 設計與實現 Lua设计与实现
codedump
- 出版商: 人民郵電
- 出版日期: 2017-08-01
- 定價: $294
- 售價: 8.5 折 $250
- 語言: 簡體中文
- 頁數: 186
- 裝訂: 平裝
- ISBN: 7115465371
- ISBN-13: 9787115465375
-
相關分類:
程式語言
-
相關翻譯:
月亮般輕盈:用 Lua 成為指令稿語言大師 (繁中版)
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
$880$616 -
$580$458 -
$650$507 -
$383LLVM Cookbook中文版
-
$280軟技能代碼之外的生存指南 (Soft Skills : The software developer's life manual)
-
$352Lua 遊戲 AI 開發指南 (Learning Game AI Programming with Lua)
-
$403數據科學家養成手冊
-
$590$460 -
$390$308 -
$265Web API 的設計與開發 (Web API : the Good Parts)
-
$301區塊鏈核心算法解析
-
$580$458 -
$354$336 -
$780$616 -
$450$356 -
$480$379 -
$534$507 -
$403深入淺出 Webpack
-
$210$200 -
$590$502 -
$534$507 -
$534$507 -
$479$455 -
$500$395 -
$505Lua 解釋器構建:從虛擬機到編譯器
相關主題
商品描述
本書基於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