lua 如何应用

游戏攻略02

lua 如何应用,第1张

lua 如何应用
导读: 1、lua 如何应用2、ios怎么运行lua脚本?3、如何用lua *** 游戏作为一名程序员,相信大家在软件架构图上经常见到 “Nginx + Lua” 的字样,但是对于Lua在Web应用中的作用并没有多少了解。该篇文章对 Lua 的语言特性
  • 1、lua 如何应用
  • 2、ios怎么运行lua脚本?
  • 3、如何用lua *** 游戏

作为一名程序员,相信大家在软件架构图上经常见到 “Nginx + Lua” 的字样,但是对于Lua在Web应用中的作用并没有多少了解。

该篇文章对 Lua 的语言特性、优势等方面做介绍,并通过介绍一个天气预报的 Web 应用,让大家对 Lua 在Web应用中充当的角色有一个直观的认识。

什么是 Lua

Lua 是用标准C语言编写的一种小巧的脚本语言,并以源代码形式开放。Lua 并没有提供强大的库,所以我们很少单独使用 Lua 去编写程序,其设计目的是为了嵌入其他应用程序中,比如嵌入 Cocos2d-x 游戏引擎或 Nginx 服务器,从而为应用程序提供灵活的扩展和定制功能。

Lua 的语言特性

Lua 的语法并不复杂,易于上手,而且网上已有大量的语法教程,所以该篇文章不再赘叙,这里介绍几个 Lua 语言相对重要的语言特性。

协程并发

协程相对独立,有自己的上下文,但是其切换由程序自己控制(线程的切换是由操作系统控制,这是协程与线程的重要区别)。

Lua 的协程通过扩展库 coroutine 来实现,通过 create 函数创建一个协程,resume 函数以运行此协程,直到新协程调用 yield 函数,程序才能返回到“主协程”中运行。

lua是用c写的没错,游戏引擎是c++->lua->c/c++这个也是没有问题的。回答LZ的疑问应该从lua脚本语特性方面来理解比较合适。

动态解释语言

动态相对于静态,c++属于静态编译语言,好处就是编译后的程序是二进制的,可以直接运行,所以执行的效率高。不好的就是如果因为各种需求要修改程序逻辑,不得不重新走编译打包这个流程。在业务修改频繁或者复杂的工程的情况下,效率是非常低下无法接受的。所以动态脚本的出现可以很好的解决这样的问题,因为lua脚本不需要编译。

2粘合剂作用

C++适合高性能的应用场景,lua灵活适合频繁变化的业务需求,游戏引擎通过lua将这些应用场景的需求粘合起来,简单高效。

总结:取长补短

LZ要学LUA的话一定要去看书 Programming in Lua不一定要买纸质的 至少要有个电子档的 在序言里就已经说了 Lua本身是作为一种扩展语言来定位的 所以本身没有很强大的库 而它优势在于扩展性和兼容性 大部分功能都必须依赖外部的库 本身只有一些很简单的库函数可供调用 但是作为学习的话 那些强大的库大可不必看 基本的那些库学起来已经需要好一段时间了

至于脚本和C等的调用问题 虽然两者都可相互调用,但是毕竟windows与C相连接更紧密,所以一般来说 都是C调用lua 但是当脚本范肌顿可塥玖舵雪罚磨里需要实现一些需要使用c来写程序的时候也会在lua中调用c

lua脚本和C绑定的问题 c写的VC程序在windows下是可以直接运行的,lua写的如果没有解释器是无法直接运行的 所以一般来说写lua程序 想要直接使用的话都会用C来调用

如果您认可我的答案,。

您的采纳,是我答题的动力,O(∩_∩)O!!