开源项目luaToEXE: 将.lua封装为自带解释器无lua环境依赖的可执行文件工具

引言

.lua文件编译为自带解释器,无环境依赖的.exe的标准做法是使用srlua.不过,其本身已有十来年未有更新,同时也未提供编译好的二进制文件(很多人编译的srlua未考虑依赖问题导致编译后的程序在无lua环境中运行时报缺失dll错误),并不是即开即用.

luaToEXE是一个封装了srlua的开源项目,旨在为将.lua编译为自带解释器的.exe提供简单的解决方案.

特点:

  • 简单易用
  • 编译后的.exe无依赖(在Windows沙盒环境下测试通过)
  • 支持多Lua版本选择

项目包括两个子项目:

  1. lua-to-exe: 一个Python库,提供转换的API函数和图形界面
  2. exelua: 一个命令行工具程序,包括32位及64位版本

链接:

教程: lua-to-exe

  1. 使用pip install lua-to-exe安装

2. 在你的项目中使用import lua_to_exe导入包(注意是_)

  1. 图形界面: 运行lua_to_exe.gui()唤起图形界面

    • 包括输入.lua,输出.exe的文件(名)选择及转换按钮
    • 下拉框可选lua版本.-32表示32位,以此类推

4. API: 调用lua_to_exe()函数

markdown 复制代码
-   `lua_to_exe(lua_file, exe_file, lua_version='5.1.5-64')`,参数列表依次为输入的`.lua`文件,输出的`.exe`文件,及可选的lua版本(默认为5.1.5-64)
-   调用`all_available()`可获取所有可用的lua版本名字典

教程: exelua

  1. Release页面下载对应位数的exelua

2. 解压并将目录添加至环境变量,重启电脑.注意,确保srlua文件夹在同目录下

3. 在Windows终端中运行exelua -v,输出版本号表示安装成功

  1. 输入exelua -h获取使用帮助,输入exelua -list(初次运行可能耗费一些时间)列出所有可用版本

5. 运行exelua -c <input.lua> <output.exe> [-lua <version>]执行转换.参数依次是,输入的.lua文件路径,输出的.exe文件路径,可选的-lua(如需指明lua版本)及对应的版本.例如,将helloworld.lua转换为helloworld.exe的指令可以是exelua -c helloworld.lua helloworld.exe,使用默认的5.1.5-64/5.1.5-32版本的lua解释器.

求Star

如果项目有帮助到你,还请不吝啬点几个Star了 :)

相关推荐
IMPYLH7 小时前
Lua 的 Math(数学) 模块
开发语言·笔记·lua
脸大是真的好~1 天前
分布式锁-基于redis实现分布式锁(不推荐)- 改进利用LUA脚本(不推荐)前面都是原理 - Redisson分布式锁
redis·分布式·lua
ChaITSimpleLove2 天前
基于 .NET Garnet 1.0.91 实现高性能分布式锁(使用 Lua 脚本)
分布式·.net·lua
羑悻的小杀马特2 天前
Lua vs C++:核心设计哲学差异——从“系统基石”到“灵活工具”的思维碰撞
c++·lua
小毅&Nora2 天前
【后端】【工具】Redis Lua脚本漏洞深度解析:从CVE-2022-0543到Redis 7.x的全面防御指南
redis·安全·lua
古城小栈2 天前
接口测试:Postman+Newman 自动化脚本实战指南
自动化·lua·postman
小坏讲微服务2 天前
Spring Boot4.0 集成 Redis 实现看门狗 Lua 脚本分布式锁完整使用
java·spring boot·redis·分布式·后端·lua
IMPYLH3 天前
Lua 的 IO (输入/输出)模块
开发语言·笔记·后端·lua
菠萝地亚狂想曲3 天前
使用C语言操作LUA栈
c语言·junit·lua
IMPYLH4 天前
Lua 的 Debug(调试) 模块
开发语言·笔记·python·单元测试·lua·fastapi