Lua入门篇之环境搭建

请注意,本文编写于 277 天前,最后修改于 221 天前,其中某些信息可能已经过时。

Lua介绍
Lua是一个小巧的脚本语言。是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。
Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。 Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。 一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。
摘至Lua

开始正题↓

下载Lua

Windows

luaevn1
luaevn1

luaevn2
luaevn2

进入新界面,点击左侧的Download选择版本进行下载

luaevn8
luaevn8

luaevn9
luaevn9

luaevn10
luaevn10

Lua5.3.4下载链接

lua-5.3.4_Win32_bin.zip

lua-5.3.4_Win64_bin.zip

我这里使用的是64位的,所以下载文件 lua-5.3.4_Win64bin.zip

创建一个空文件夹“Lua”并在其中解压【 lua-5.3.4_Win64bin.zip 】压缩文件

复制“Lua”文件夹到一个不会被删除的地方,路径最好不要是中文。

luaevn5
luaevn5

配置环境变量

右键我的电脑→→属性→→高级系统设置

点击→→环境变量

编辑系统变量Path

复制之前存放Lua文件夹的路径( 也就是地址 )→→粘贴进输入框→→上移到如图位置。(Win7系统在地址后加英文的分号【;】用以隔开所有地址 )

luaevn6
luaevn6

测试

点击“Win+R”打开运行,输入“cmd”→→输入“lua”显示lua安装成功→→输入“ print(‘helloworld’) ”测试成功!

luahelloworld
luahelloworld

Linux

1.下载
进入lua的官网下载最新版本http://www.lua.org/download.html,我用的是lua-5.3.4

$ wget http://www.lua.org/ftp/lua-5.3.4.tar.gz

2.安装

$ tar -zxvf lua-5.3.4.tar.gz
$ cd lua-5.3.4
$ make linux test(如果是mac系统,则使用make maxosx test)

执行到此是,会报错,如图所示:

luaevn7
luaevn7

这时需要添加readline的依赖,执行此命令:

$ sudo yum install libtermcap-devel ncurses-devel libevent-devel readline-devel

完成之后,再执行$ sudo make && make install 或者转换到root用户下执行# make && make install,如果执行$ make install,会出现权限不够的问题

3.测试
验证是否安装正常:

$ lua

出现如图所示,证明正确

luahelloworld2
luahelloworld2

友情提示:在~/lua-5.3.x/doc目录下有一个叫readme.html为官方帮助文档,需要的请参考

Windows VsCode开发调试

简介

5.1 以后就没有很好的lua IDE可用了,luastudio不错但是小贵,发现有位仁兄写了个 visual studio code的lua调试插件,试了一下还不错 插件源码

环境搭建

  • 去微软官方下载vscode 软件下载地址
  • 安装Lua 5.3 Debug 插件,在vscode中按Ctrl+P,输入 ext install lua-debug

luadebug
luadebug

  • vscode的调试需要在一个文件夹中,随便建一个文件夹比如叫luaproject 里面建一个lua文件叫run.lua
  • 配置调试工具
    打开lua的调试配置

luadebug2
luadebug2

luadebug3
luadebug3

直接调试lua文件修改lanuce里面的program项

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "launch",
            "type": "lua",
            "request": "launch",
            "stopOnEntry": true,
            "program": "${workspaceRoot}/run.lua",
            "cwd": "${workspaceRoot}",
            "path": "${workspaceRoot}/?.lua",
            "cpath": "${workspaceRoot}/?.dll",
            "arg": [],
            "console": "ansi"
        },
        {
            "name": "attach",
            "type": "lua",
            "request": "attach",
            "stopOnEntry": true,
            "ip": "localhost",
            "port": 4278,
            "sourceMaps": [
                [
                    "./",
                    "${workspaceRoot}"
                ]
            ]
        }
    ]
}

luadebug4
luadebug4

  • 开始调试

如果”stopOnEntry”: true 则进入调试状态便断在开头 按F5直接运行到打断点的地方。可以方便的查看这个变量的值和运行状态

lua调试器详细说明

模块功能

  • vscode-debug-client.exe 代理客户端。在launch模式中,vscode-debug-client.exe会用vscode-debug.dll创建一个调试器进行调试。在attach模式中,vscode-debug-client.exe会连接一个远程的调试器(也是由vscode-debug.dll创建的),vscode-debug-client.exe只负责在vscode-debug.dll和vscode之间转发消息。
  • vscode-debug.dll 调试器的核心模块。你可以在你的程序中加载vscode-debug.dll并创建调试器,这样vscode就可以通过attach模式进行调试。
  • luacore.dll lua核心模块。如果你的程序定制了lua,你可以替换掉它。

配置launch.json

  1. launch模式,等同于使用lua.exe来执行你的代码。

    1. program,lua.exe执行的入口文件
    2. cwd,lua.exe的当前目录
    3. stopOnEntry,开始调试时是否先暂停
    4. luadll,指定lua dll的路径,如有不填会加载luacore.dll
    5. path,用于初始化package.path
    6. cpath,用于初始化package.cpath
    7. arg,lua.exe的命令行参数,用于初始化arg
    8. console,lua的标准输出的编码,可选择utf8、ansi、none,当是none时不会重定向标准输出到vscode
    9. sourceMaps,一般不需要,作用同attach模式

参考资料

https://blog.csdn.net/ChinarCSDN/article/details/78667262

https://blog.csdn.net/qq_38799155/article/details/77914371

https://blog.csdn.net/xiaoluoshan/article/details/80382947