开源项目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了 :)

相关推荐
@大迁世界12 小时前
6 款轻量级 CLI 工具,取代了我臃肿的开发软件
开发语言·lua
无籽西瓜a12 小时前
Docker 环境下 Redis Lua 脚本部署与执行
redis·docker·lua
想做后端的前端1 天前
Lua的元表和元方法
开发语言·junit·lua
呆子也有梦1 天前
思考篇:积分是存成道具还是直接存数值?——ET/Skynet 框架下,从架构权衡到代码实现全解析
游戏·架构·c#·lua
liulilittle2 天前
Lua中检测32位序号环绕的方法
junit·单元测试·lua
历程里程碑2 天前
链表-----
数据结构·线性代数·算法·链表·矩阵·lua·perl
星空露珠2 天前
迷你世界UGC3.0脚本Wiki角色模块管理接口 Actor
开发语言·数据库·算法·游戏·lua
利来利往2 天前
【lua】loop is executed at most oncelua-analyzer(512)
lua
星空露珠2 天前
迷你世界UGC3.0脚本Wiki对象模块管理接口 GameObject
开发语言·数据库·算法·游戏·lua
或与且与或非2 天前
Redis-Lua脚本调试教程
数据库·redis·lua