电子书:《lua设计与实现》《lua设计与实现》

电子书:《lua设计与实现》《lua设计与实现》

资源下载
仅限VIP下载,请先
犹豫不决让我们错失一次又一次机会!!!

电子书:《lua设计与实现》《lua设计与实现》

111

内容简介:

ui图灵原创lua设计与实现codedump o著lua人民邮电出版社图书在版编目(c1p)数据lua设计与实现/李创著.一北京:人民邮电出版(图灵原创isbn978-7-15-46537-51.①l…i.①李…i.①游戏程序一程序设计n.①tp317.6中guo版本图书馆cip数据核字(2017)第185067号内容提要本书基于lua5.1.4版本讨论了lua语言的设计原理.全书共分三部分:第一部分讲解数据结构(如通用数据是如何表示的)、字符申以及表类型的实现原理:第二部分是本书最重要的部分.主要讨论了虚拟机的实现:第三部分讨论了垃圾回收、模块实现、热更新、协程等的实现原理本书适合对lua内部实现感兴趣以及对编程语言实现原理感兴趣的人阅读著codedump责任编辑王军花责任印制彭志环民邮电出版社出版发行北京市丰台区成寿寺路11号郎编100164电子邮件315aptpress.com.cn北京鑫正大印刷有限公司印刷印张:12252017年8月北京第1次印刷定价:49.00?读者服务热线01051095186转600印装质量热线010)81055316反盗版热线010)81055315广告经营许可证:京东工商广登字20170147号前言接触lua是在很早之前.但是那时仅限于基本的学习.没有在项目中使用.也没有意识到这门语言真正的魅力。时间来到2011年.那时我在从事网 页游戏的开发工作。游戏开发有其独有的特点一一上线周期短.经常一两周就要有一个版本上线.而这个过程中需要实现的功能并不见得少。简单地说就是时间紧、任务重假如采用c这样的编译型语言来开发游戏.那么典型的开发流程大致是这样的:撸起袖子来写了一大段代码.然后编译、解决调试编译的错误.中间可能还要处理类似崩溃、段错误、内存泄露等问题。另外.由于重新编译了代码.又需要重启服.务.器.而重启过程中势必涉及数据的加载。总而言之.采用纯编译型语言开发的情况下.相当一部分时间并没有用在真正的业务逻辑开发中当时项目采用的是c+编写的核心引擎模块.暴露核心接口给lua脚本层.网络数据的收发都在c层完成.面业务逻辑采用lua实现。这个架构也是很多游戏服.务.器采用的经典架构使用这个架构来开发游戏服务时.不再会把大量的精力放在语言本身的问题上.而可以集中精来做业务逻辑。另外.借助于lua的热更新能力.整个开发过程中需要重启服务的次数并不多可以说.这个项目经历打开了一扇新的窗口.开阔了我的视野。由于在项目开发过程中尝到了甜头.并且自己也对编程语言的实现很感兴趣.所以业余时间就开始慢慢阅读lua解释器的实现原理。那时候在互联网上能找到的分析lua实现的文章并不多.加上自己绵译原理等相关知识的基础薄弱.大部分时候只能硬啃代码。我一边摸索.一边开始逐步整理相关的文章并将其放在网上.希望对其他有类似需求的朋友有一些帮助。lua作为一门诞生已经超过20年的语言.在设计上是非常克制的。以本书讲解所涉及的5.4版本来说.这个版本是lua发展了十几年之后稳定了很长时间的版本.其解释器加上周边的库函数等不过就是一万多行的代码量.而如果再进行精简.只需要吃透最核心的几千行代码就可以了。这样一门广泛使用的工业级别的脚本语言.只需要吃透几千行代码就能明白其核心原理这个性价比极高的诱惑对当时的我来说无疑是巨大的lua在设计上.从一开始就把简洁、高效、可移植性、可嵌入型、可扩展性等作为自己的目标。打一个可能不是太恰当的比方.lua专注于做一个配角.作为胶水语言来.辅。助.像c、c++这样的主角来更好地完成工作。当其他语言在前面攻城拔寨时.它在后方完成自己.辅。助.的作用。在现在大部分主流编程语言都在走大而全的路线.在号称学会某一门语言就能成为所谓的“全栈工程师”的年代.lua始终格守本分地做好自己胶水语言的本取工作.不得不说是一个异类的上善若水.水善利万物而不争”.简单、极致、强大的可扩展性.大概是我能想到的最适合用来描述lua语言设计哲学的句子。本书将对lua语言的设计原理做一些分析讨论.采用的是lua5.1.4版本.在引用到该版本中的代码时.会在引用代码的同时加上代码所在的文件以及行号.方便读者对应到具体的代码中起跟着阅读。另外.我也把自己在阅读lua代码中做了一些注释的代码版本放在了gitb上地址是:htps:/github.com/lichuang/lua-5.1.4-codedump本书适用于以下读者ロ希望能够进一步了解lua实现的内部原理的lua语言用户ロ对程序语言设计感兴趣的读者本书.读者至少需要具备以下的基础知识。口扎实的c语言功底.lua虚拟机采用纯c编写。在我看过不算少的纯c语言完成的项目lua虚拟机的代码质量是最高的ロ一定的编译原理知识.比如了解词法分析、语法分析、追归下降分析、bnf规则等.如果不清楚这些原理.阅读lua虚拟机实现时会遇到很多问题口第一部分讲解lua中的数据结构.如通用数据是如何表示的.lua的字符串以及表类型的实现原理ロ第二部分是本书最重要的部分.主要讨论了lua虚拟机的实现。另外.这里分类讲解了lua虚拟机中的一些重点指令口第三部分的内容比较杂.这部分讨论垃圾回收、模块实现、热更新、协程等的实现本书的完成要特别感谢以下几个人旅谢图灵公司的王军花编辑.在茫茫的互联网中找到我在网上开源的lua分析系列文章(这也是本书写作的基础).并且鼓励我整理出版.在多次跳票的情况下给予了我很多的鼓励和帮助没有她的发掘和鼓励.就不会有本书。感谢云风在百忙之中抽空对本书初稿进行了审阅.给予了很多中肯的意见。有一些我听取并进行了改进.而有一些因为各种原因很遗憾没能进行完善感谢我太太对我工作的理解.家人的理解和支持是一切的基础最后.由于本人能力有限.在很多问题的讨论上可能还存在一些误区.希望读者不各赐教。请从这里开始您的旅程

#############################################

资源下载
下载价格VIP专享
仅限VIP下载升级VIP
犹豫不决让我们错失一次又一次机会!!!
原文链接:https://1111down.com/224225.html,转载请注明出处

本站开启缓存功能

登入后回任何页面即可登入成功,当前页不显示

没有账号?注册  忘记密码?

社交账号快速登录