Lua設計與實現

Lua設計與實現 pdf epub mobi txt 電子書 下載2025

出版者:人民郵電齣版社
作者:codedump
出品人:
頁數:196
译者:
出版時間:2017-8
價格:49.00元
裝幀:平裝
isbn號碼:9787115465375
叢書系列:圖靈原創
圖書標籤:
  • Lua
  • 編程
  • 編譯原理
  • lua實現
  • 計算機
  • 程序設計
  • Programming
  • 計算機科學
  • Lua
  • 編程
  • 設計
  • 實現
  • 語言
  • 算法
  • 計算機
  • 軟件
  • 開發
  • 教程
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

本書首先介紹瞭Lua中的數據結構,比如通用數據是如何錶示的、Lua的字符串以及錶類型的實現原理,接著討論瞭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 使用ChunkSpy  57
第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 相關的API  177
11.3 實現  180
11.4 對稱協程和非對稱協程  184
附錄A 參考資料  187
· · · · · · (收起)

讀後感

評分

2017.10.27 针对第一次印刷勘误 #4.2.4 取表长度 这一节做了较多修改,就不在这里单列,pdf已经提供,可以在: http://www.ituring.com.cn/book/download/ebeac2ba-d575-4319-8611-c166ba4a1229 下载。 #第62页 代码部分倒数第9行 错误内容:非终结符Name 和 funcbody不存在 ...

評分

2017.10.27 针对第一次印刷勘误 #4.2.4 取表长度 这一节做了较多修改,就不在这里单列,pdf已经提供,可以在: http://www.ituring.com.cn/book/download/ebeac2ba-d575-4319-8611-c166ba4a1229 下载。 #第62页 代码部分倒数第9行 错误内容:非终结符Name 和 funcbody不存在 ...

評分

2017.10.27 针对第一次印刷勘误 #4.2.4 取表长度 这一节做了较多修改,就不在这里单列,pdf已经提供,可以在: http://www.ituring.com.cn/book/download/ebeac2ba-d575-4319-8611-c166ba4a1229 下载。 #第62页 代码部分倒数第9行 错误内容:非终结符Name 和 funcbody不存在 ...

評分

2017.10.27 针对第一次印刷勘误 #4.2.4 取表长度 这一节做了较多修改,就不在这里单列,pdf已经提供,可以在: http://www.ituring.com.cn/book/download/ebeac2ba-d575-4319-8611-c166ba4a1229 下载。 #第62页 代码部分倒数第9行 错误内容:非终结符Name 和 funcbody不存在 ...

評分

2017.10.27 针对第一次印刷勘误 #4.2.4 取表长度 这一节做了较多修改,就不在这里单列,pdf已经提供,可以在: http://www.ituring.com.cn/book/download/ebeac2ba-d575-4319-8611-c166ba4a1229 下载。 #第62页 代码部分倒数第9行 错误内容:非终结符Name 和 funcbody不存在 ...

用戶評價

评分

書比較薄,lvm各個方麵都有提到,對於學習lua源碼的人有一定的藉鑒意義,但是作者有點局限於細節,宏觀上整體的設計和思考,細節上部分內容講的不夠深入。比如對於寄存器這塊,宏觀上可以介紹寄存器分配算法,然後細節上介紹lvm是如何分配、為什麼調整、怎麼調整寄存器,這些對於理解lvm 執行和指令實現很重要。

评分

作者是大牛,但是書的內容給我的感覺是像在自說自話,沒辦法,源碼解讀類的書可能都有這個問題。我還是乖乖滾去看源代碼好瞭。

评分

標記瞭想讀幾百天之後終於翻瞭一遍… 哪天對著代碼過一次…

评分

代碼導讀,粗粗過瞭一遍本書。代碼細讀的時候把拿本書一起看,感覺更好。提瞭兩個書中的文字錯誤。期待二刷三刷,感覺要把C和Lua技能提升,路漫漫。

评分

- [lua設計與實現](https://github.com/lichuang/Lua-Source-Internal): [lua5.1.4版本代碼注釋](https://github.com/lichuang/Lua-5.1.4-codedump) 簡單/極緻/強大的可擴展性 基礎數據結構(c/字符串/錶) 虛擬機(luaVM 指令解析/執行) 獨立功能實現(GC env/module debug Exception co)

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有