lua开发和调试环境
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以群的教程为准。
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开发和调试环境的更多相关文章
- 详解LUA开发工具及其环境配置
LUA开发工具及其环境配置是本文要介绍的内容,主要是来了解并学习lua开发工具的使用和环境的配置,第一次接触LUA的话,就跟本人一起学习吧.看我能不能忽悠到你. LUA是语言,那么一定有编写的工具.第 ...
- Windows下Lua+Redis 断点调试环境搭建==Linux下类似
Lua+Redis 断点调试环境搭建 windows环境,使用Redis,写lua脚本头疼的问题之一不能对脚本断点调试,google加上自己的摸索,终于搞定. 1.下载ZeroBraneStudio, ...
- 搭建Go开发及调试环境(LiteIDE + GoClipse)
搭建Go开发及调试环境(LiteIDE + GoClipse) -- Windows篇 这里以Windows7 64位为例,如果是32位环境需安装对应版本程序. 一.安装golang1.2.2 1.3 ...
- Eclipse IDE配置PHP开发、调试环境
前言 使用java语言开发的朋友想必对Eclipse开发工具已经不陌生了,那么Eclipse作为java主流的开发工具,是否能够开发PHP项目呢?答案如你所想,肯定是可以的!以下就是该IDE下如何配置 ...
- 笔记:MAC OS X下配置PHP开发、调试环境
操作系统:MAC OS X 工具:MAMP.PhpStorm.xdebug.chrome 1.下载MAMP 2.安装比较简单,安装完成后,应用程序中会增加如下4个应用 MacGDBp是PHP调试器,使 ...
- 搭建Eclipse开发和调试环境(真机)
由于工作原因,最近开始了Android开发.之前接触过一段时间Android,还是在2.x时代. 那个时候搭建开发环境还是挺麻烦的.又是Eclipse,又是ADT的,不同的版本还要安装对应开发包.现在 ...
- MAC OS X下配置PHP开发、调试环境
操作系统:MAC OS X 工具:MAMP.PhpStorm.xdebug.chrome 1.下载MAMP 2.安装比较简单,安装完成后,应用程序中会增加如下4个应用 MacGDBp是PHP调试器,使 ...
- 使用 Visual Studio Code 搭建 C/C++ 开发和调试环境
文章目录 1. 安装 C/C++ 插件 2. 安装 MinGW-w64 并配置好环境变量 3. 测试环境变量是否配置正确 4. 创建和设置 C 语言开发工作区 5. 编写你的第一个 C 语言程序 6. ...
- 搭建Go开发及调试环境(LiteIDE + GoClipse) -- Windows篇
这里以Windows7 64位为例,如果是32位环境需安装对应版本程序. 一.安装golang1.2.2 1.3及1.3.1编译生成的二进制文件,无法使用LiteIDE23.2携带的gdb7.7进 ...
- 【Qt】Qt在Windows下的开发与调试环境配置
前文已经交待了从源码编译Qt自定义版本.现在可以开始配置一下开发与调试程序并写个Hello World了. 1. IDE 虽然Qt官方有VS插件使我们可以在VisualStudio中开发Qt应用,但我 ...
随机推荐
- 火山引擎 DataLeap 推出全链路智能监控报警平台
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 随着大数据开发场景下需要运维管理的任务越来越多,在日常运维中开发者经常会面临以下几个问题: 任务多,依赖关系复杂: ...
- C# 写日志文件
常用方法: public class FileHelper { private static void Write(string fileName, byte[] bytes) { FileStrea ...
- WCF 使用动态代理精简代码架构 (WCF动态调用)
使用Castle.Core.dll实现,核心代码是使用Castle.DynamicProxy.ProxyGenerator类的CreateInterfaceProxyWithoutTarget方法动态 ...
- mysql 字段逗号分割行转列操作
一.需求 某字段的值为 7654,7698,7782,7788 期望的效果: 二.实现语句 SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('7654,7698,778 ...
- 使用markdown语法做笔记,相比txt多了很多样式
- ingress nginx 支持的K8S版本以及nginx版本信息
- [转帖]xsos - Summarize system info from sosreports
https://github.com/ryran/rsar I'M LOOKING FOR RSAR SCREEN SHOTS INTRO INSTALLATION EXAMPLES IN ACTIO ...
- [转帖]Linux:CPU频率调节模式以及降频方法简介
概述 cpufreq的核心功能,是通过调整CPU的电压和频率,来兼顾系统的性能和功耗.在不需要高性能时,降低电压和频率,以降低功耗:在需要高性能时,提高电压和频率,以提高性能. cpufreq 是一个 ...
- [转帖]CentOS 7 下用 firewall-cmd / iptables 实现 NAT 转发供内网服务器联网
https://www.cnblogs.com/hope250/p/8033818.html 自从用 HAProxy 对服务器做了负载均衡以后,感觉后端服务器真的没必要再配置并占用公网IP资源.而且由 ...
- [转帖]NOHZ = ON如何影响Linux内核中的do_timer()?
https://www.jb51.cc/faq/897483.html 如何解决NOHZ = ON如何影响Linux内核中的do_timer()?? 首先,让我们了解什么是tickless kerne ...