Lua基础
(挖个坑待整理…)
lua读作“撸啊”,游戏开发中热更神器,无论是初级开发者还是高级开发者都需要熟练掌握的一门语言,因为它小巧实用,无孔不入。
一定要学习lua的几个理由
- 可扩展性
lua最出名的特点用于游戏中的热更新另外还有游戏插件,同样是脚本语言,为什么只有lua受此青睐,有大神给出回答
总结来说lua的虚拟机很小,其和谐的底层实现在进程乃至线程级都没有污染,lua在一开始就被设计为很容易与传统的C/C++整合的语言,它严格限制了自己要解决的问题,从而把语言特性限制在一个非常有限的范围之内。 - 精简
其精简体现在两个方面,一是和python一样语法代码量极少,二是由于语言被定位为扩展性强,虚拟机和语言特性都为精简而生。 - 高效率
lua是平均效率最快的脚本语言,这里有关于lua和python的比较讨论 - 跨平台性
Lua 不是通过使用条件编译实现平台无关,而是完全使用ANSI (ISO) C,这意味着只要你有ANSI C 编译器你就可以编译并使用Lua。
- 可扩展性
Windows下环境搭建
- 手动编译
- 首先到官网下载想要的版本源码并解压
- 使用VS的命令行工具cd到刚刚解压的src路径下,然后输入或使用批处理执行以下命令,这里的版本可以替换成你下载的对应版本
cl /MD /O2 /c /DLUA_BUILD_AS_DLL *.c
ren lua.obj lua.o
ren luac.obj luac.o
link /DLL /IMPLIB:lua5.3.0.lib /OUT:lua5.3.0.dll *.obj
link /OUT:lua.exe lua.o lua5.3.0.lib
lib /OUT:lua5.3.0-static.lib *.obj
link /OUT:luac.exe luac.o lua5.3.0-static.lib - 将src文件夹中的lua.exe、lua5.3.0.dll、luac.exe拷贝到lua-5.3.0文件夹中;
- 在lua-5.3.0文件夹中新建lib文件夹,将src中lua5.3.0.exp、lua5.3.0.lib、lua5.3.0-static.lib、luac.exp、luac.lib拷贝到lib文件夹中;
- 在lua-5.3.0文件夹中新建include文件夹,将src中lauxlib.h、lua.h、lua.hpp、luaconf.h、lualib.h拷贝到include文件夹中;
- 设置环境变量,新建系统变量
LUA_DIR —> F:\Lua\lua-5.3.0
LUA_PATH —> ?.lua;%LUA_DIR%\lua\?.lua
LUA_CPATH —> ?.dll;%LUA_DIR%\?.dll
在Path变量后添加;F:\Lua\lua-5.3.0 - 打开命令行,输入lua回车,出现如下提示,说明成功
Lua 5.3.0 Copyright (C) 1994-2015 Lua.org, PUC-Rio
- 搜索Lua for windows,附带IDE。
关于编辑器个人推荐
VSCode
,需要语法提示可以下载插件”lua”- 手动编译
基本类型
nil
boolean
number
string
function:由 C 或 Lua 编写的函数
userdata: 表示任意存储在变量中的C数据结构
thread