Lua开发环境搭建

Lua官网提供源码下载需要自己编译,Lua官网:https://www.lua.org/ftp/

lua for windows.exe(占二十多MB那个) 目前在网络上没有找到 5.3的版本,只有旧的5.1版本

以lua5.3以例,在windows上仅需要最简单的三个文件

luac.exe

lua53.dll

lua.exe

把这三个文件放在d:\lua53,把这个目录配置到环境变量下,在此目录下新建一个hello.lua,CD到这个目录,使用lua hello.lua就可以运行lua文件

D:\lua53> lua .\hello.lua

配置环境变量后,可以直接在命令行中输入lua,然后输入lua代码进行运行

C:\Users\qing>lua
Lua 5.3.4 Copyright (C) 1994-2017 Lua.org, PUC-Rio
> print("this from lua")
this from lua
>

自动配置lua到环境变量脚本:https://github.com/zhaoqingqing/blog_samplecode/tree/master/workflow-tools

当然如果你需要使用一些第三方库,或者像我一样需要使用IDEA对Lua进行调试,建议安装lua for windows,而不仅仅是上述三个文件

Lua版本发布时间表,更多版本的发布时间可见lua官网

  • Lua5.4 在2020-6-18发布
  • Lua5.3在2018-7-10发布

编译lua源代码

从lua官网下载到lua源代码之后,使用CMD命令进入到lua源码目录,使用如下命令进行编译

命令:cl *.c

注:cl是微软提供的C语言编译器

如果电脑已经安装了visual studio的话,就已经有这个程序了。

导入第三方库

在纯lua开发中导入第三方库,以json为例,安装Lua For Windows之后require成功且能正常使用,如果没有安装则会require失败,原因是lua的运行环境中找不到对应的库

Lua Debug调试

在Unity中进行调试可以使用EmmyLua的新版本

在IDEA中对于纯Lua环境的代码进行调试,需要安装Lua For Windows,如果要调试单个lua文件的话,需要新建一个Run/Debug Configurations,指定要调试的lua文件,并且勾选Allow paraller run

EmmyLua新版本

EmmyLua的作者在2019年进行了新版本的开发,升级EmmyLua版本之后也是可以进行调试。

如果遇到lua中文件无法查找引用和跳转问题,可以重新安装EmmyLua插件

在Lua中提示Unity的API,可以使用新的方法,见EmmyLua群的教程。

我之前的博客中方法是针对EmmyLua在2018年及之前的版本,新版本的EmmyLua以群的教程为准。

在Lua中提示UnityEngine.dll的方法

在Unity中对Lua进行调试

LuaPanda

LuaPanda 是一个基于 VS Code 的 lua 代码工具,设计目标是简单易用。它支持多种开发框架,主要提供以下功能:

  • 自动补全(auto completion)
  • 代码片段(snippet completion)
  • 定义跳转(definition)
  • 生成注释(comment generation)
  • 类型推断(limited type inference)
  • 代码格式化(formatting): 依赖 lua-fmt
  • 代码诊断(linting):依赖 luacheck
  • 调试器(debugger)

功能详情可以参考项目介绍。LuaPanda 支持 lua5.1- 5.3,调试器运行环境需要包含 LuaSocket。

官网:LuaPanda,从issus中了解到这是腾讯内部一个团队开源的作品,目前我还没有使用上这款调试工具,先占个位置。

lua开发和调试环境的更多相关文章

  1. 详解LUA开发工具及其环境配置

    LUA开发工具及其环境配置是本文要介绍的内容,主要是来了解并学习lua开发工具的使用和环境的配置,第一次接触LUA的话,就跟本人一起学习吧.看我能不能忽悠到你. LUA是语言,那么一定有编写的工具.第 ...

  2. Windows下Lua+Redis 断点调试环境搭建==Linux下类似

    Lua+Redis 断点调试环境搭建 windows环境,使用Redis,写lua脚本头疼的问题之一不能对脚本断点调试,google加上自己的摸索,终于搞定. 1.下载ZeroBraneStudio, ...

  3. 搭建Go开发及调试环境(LiteIDE + GoClipse)

    搭建Go开发及调试环境(LiteIDE + GoClipse) -- Windows篇 这里以Windows7 64位为例,如果是32位环境需安装对应版本程序. 一.安装golang1.2.2 1.3 ...

  4. Eclipse IDE配置PHP开发、调试环境

    前言 使用java语言开发的朋友想必对Eclipse开发工具已经不陌生了,那么Eclipse作为java主流的开发工具,是否能够开发PHP项目呢?答案如你所想,肯定是可以的!以下就是该IDE下如何配置 ...

  5. 笔记:MAC OS X下配置PHP开发、调试环境

    操作系统:MAC OS X 工具:MAMP.PhpStorm.xdebug.chrome 1.下载MAMP 2.安装比较简单,安装完成后,应用程序中会增加如下4个应用 MacGDBp是PHP调试器,使 ...

  6. 搭建Eclipse开发和调试环境(真机)

    由于工作原因,最近开始了Android开发.之前接触过一段时间Android,还是在2.x时代. 那个时候搭建开发环境还是挺麻烦的.又是Eclipse,又是ADT的,不同的版本还要安装对应开发包.现在 ...

  7. MAC OS X下配置PHP开发、调试环境

    操作系统:MAC OS X 工具:MAMP.PhpStorm.xdebug.chrome 1.下载MAMP 2.安装比较简单,安装完成后,应用程序中会增加如下4个应用 MacGDBp是PHP调试器,使 ...

  8. 使用 Visual Studio Code 搭建 C/C++ 开发和调试环境

    文章目录 1. 安装 C/C++ 插件 2. 安装 MinGW-w64 并配置好环境变量 3. 测试环境变量是否配置正确 4. 创建和设置 C 语言开发工作区 5. 编写你的第一个 C 语言程序 6. ...

  9. 搭建Go开发及调试环境(LiteIDE + GoClipse) -- Windows篇

    这里以Windows7 64位为例,如果是32位环境需安装对应版本程序.   一.安装golang1.2.2 1.3及1.3.1编译生成的二进制文件,无法使用LiteIDE23.2携带的gdb7.7进 ...

  10. 【Qt】Qt在Windows下的开发与调试环境配置

    前文已经交待了从源码编译Qt自定义版本.现在可以开始配置一下开发与调试程序并写个Hello World了. 1. IDE 虽然Qt官方有VS插件使我们可以在VisualStudio中开发Qt应用,但我 ...

随机推荐

  1. QA: Solon 出现中文乱码怎么办?

    有些服务器可能会出现中文乱码,有些又不会.也是挺晕的. 可以用 jvm 启动参数试一下: java -Dfile.encoding=utf-8 -jar demoapp.jar

  2. MyBatis 核心组件 —— Configuration

    概述 Mybatis 的核心组件如下所示: Configuration:用于描述 MyBatis 的主配置信息,其他组件需要获取配置信息时,直接通过 Configuration 对象获取.除此之外,M ...

  3. C++11实用特性1

    1 原始字面量 有时候在输出一个路径字符串时,编译器会将其中的部分内容识别成转义字符进行输出,可以用R "xxx(原始字符串)xxx"其中()两边的字符串可以省略.原始字面量R可以 ...

  4. 机器学习的线性代数(Python 版)

    线性代数是数学的分支学科,涉及矢量.矩阵和线性变换.它是机器学习的重要基础,从描述算法操作的符号到代码中算法的实现,都属于该学科的研究范围. 虽然线性代数是机器学习领域不可或缺的一部分,但二者的紧密关 ...

  5. Go--发起HTTP请求

    一.HTTP请求 根据 HTTP 标准,HTTP 请求可以使用多种请求方法.在日常开发中大多数会用到 5 种请求方法: GET.POST.PUT.PATCH 和 DELETE 方法 描述 GET 请求 ...

  6. 图扑 Web SCADA 智慧钢厂能源监控 HMI

    前言 钢铁行业作为我国的支柱产业,也是我国能源消耗的重点行业之一,随着国家节能减排政策的推进,有效实施能源管控是企业提高能源绩效.降低能源成本和提高核心竞争力的重要途径. 通过对钢铁企业能耗现状和能源 ...

  7. CoinBase是什么?

    什么是CoinBase交易? 比特币区块链上的每个区块中都会包含一个或者多个交易(transaction),其中第一个交易就叫做CoinBase交易. 什么是CoinBase交易? CoinBase交 ...

  8. longjmp 使 C++ RAII 失效

    C 语言的 longjmp 没有进行栈展开,而是直接跳转.从 longjmp 到 setjmp 之间的所有析构函数都没有调用,也就是 RAII 失效. #include <setjmp.h> ...

  9. Spring Boot Actuator 使用和常用配置

    转载请注明出处: Spring Boot Actuator是Spring Boot提供的一个非常强大的工具,它可以帮助我们监控和管理我们的Spring Boot应用.Actuator提供了一系列的端点 ...

  10. js - 异步加载图片到 dom

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...