由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
[正版] Lua设计与实现 Lua设计教程 Lua编程教程 Lua程序设计入门 Lua数据结构 Lua虚拟机实现方
¥ ×1
店铺公告
为保障消费者合理购买需求及公平交易机会,避免因非生活消费目的的购买货囤积商品,抬价转售等违法行为发生,店铺有权对异常订单不发货且不进行赔付。异常订单:包括但不限于相同用户ID批量下单,同一用户(指不同用户ID,存在相同/临近/虚构收货地址,或相同联系号码,收件人,同账户付款人等情形的)批量下单(一次性大于5本),以及其他非消费目的的交易订单。
温馨提示:请务必当着快递员面开箱验货,如发现破损,请立即拍照拒收,如验货有问题请及时联系在线客服处理,(如开箱验货时发现破损,所产生运费由我司承担,一经签收即为货物完好,如果您未开箱验货,一切损失就需要由买家承担,所以请买家一定要仔细验货)。
关于退货运费:对于下单后且物流已发货货品在途的状态下,原则上均不接受退货申请,如顾客原因退货需要承担来回运费,如因产品质量问题(非破损问题)可在签收后,联系在线客服。
|
书名:Lua设计与实现
作者:codedump 著
出版社:人民邮电出版社
出版时间:2017-8
版次:1
印刷时间:2017-8
印次:1
页数:186
字数:290000
开本:16开
装帧:平装
ISBN:9787115465375
定价:49.00
一本揭示Lua实现原理的图书
经典的纯C语言项目分析
一线开发人员倾力打造
Lua是一种可嵌入、轻量、快速、功能强大的脚本语言,使用较为广泛,主要用在游戏领域。另外,基于Nginx的OpenResty也是使用Lua来编写脚本的,很多服务器(如Redis)也支持使用Lua来编写脚本。
作为一门诞生已经超过20年的语言,它在设计上是非常克制的。以Lua5.1.4版本来说,其解释器加上周边的库函数等也就不过一万多行的代码量,而如果再进行精简,只需要吃透核心的几千行代码就可以了。
另外,作为一门以纯C代码编写的项目,Lua代码优美、结构组织紧凑,是教科书般经典的C语言项目。
本书讨论了Lua的设计原理,首先讲解了数据结构、字符串以及表类型的实现原理,接着讨论了虚拟机的实现,讨论了垃圾回收、模块实现、热更新、协程等的实现原理。
本书适用于以下读者:
●希望能够进一步了解Lua内部实现原理的用户;
●对程序语言设计感兴趣的读者。
本书基于Lua 5.1.4版本讨论了Lua语言的设计原理,全书共分三部分:前部分讲解数据结构(如通用数据是如何表示的)、字符串以及表类型的实现原理;中间部分是本书重要的部分,主要讨论了虚拟机的实现;第三部分讨论了垃圾回收、模块实现、热更新、协程等的实现原理。
网名codedump,长期从事互联网后端服务开发工作。曾经在网易等公司从事游戏服务器后台开发,在网络游戏开发工作期间接触到使用C++编写服务核心引擎和使用Lua脚本编写游戏逻辑的技术组合后,对Lua产生了浓厚的兴趣,遂开始研究其实现原理,陆续公布于网络。个人博客:www.codedump.info。
dy 章 概述1
1.1 前世今生1
1.2 源码组织5
1.3 Lua虚拟机工作流程6
dy部分 基础数据类型
第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
dy 0章 异常处理169
10.1 原理169
10.2 Lua实现170
dy 1章 协程175
11.1 概念175
11.2 相关的API177
11.3 实现180
11.4 对称协程和非对称协程184
附录A 参考资料187
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格