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 执行和指令实现很重要。

评分

这个书还是相当不错的。lua 语言设计最大的特点应该是克制吧。麻雀虽小,五脏俱全。没接触过语言设计的可以一下子了解全貌。

评分

第一时间拜读,涨了不少知识,值得推荐。

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

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