2013-10-11 30 views
4

我目前正在搜索一个Windows Lua-IDE,它可以为我的脚本文件中的任何平台(例如windows,linux,mac os x)创建一个独立的可执行文件。我搜索谷歌和搜索,但所有我发现是一个额外的工具。有没有一个允许构建独立可执行文件的Lua IDE?

有没有人知道这种Lua-IDE?

回答

9

没有“一刀切”的Lua IDE,包括那种打包工具。

也就是说,这些工具确实存在,并不难用。

我真的很喜欢Zero Brane Studio作为一般的Lua IDE。它内置了一个Lua环境,可以用来调试嵌入在几乎任何主机应用程序中的Lua,而只需对主机做一些小改动。它提供的一个特性是我发现它非常有价值,它是一种静态代码分析工具,可以在Lua代码中找到许多常见的代码问题。 ZBS也运行在Windows,Mac和Linux上。它的调试器包括支持(包括实时编码)框架,如Löve2D,Gideros,Moai和Corona等,以及简单的Lua本身。

对于将更大的多模块程序打包到单个Lua源文件中进行分发,我使用Mathew Wild的squish实用程序。它将所有源模块收集到单个文件中的体面工作,还可以应用各种大小的缩减,例如消除额外的空白和注释,缩短名称,甚至应用gzip。

混合中的最后一个工具是将Lua源文件折叠为已编译可执行文件的一种方法。我已经使用了几种方法。在构建完整托管应用程序时,将Lua源码打包为资源或字符串常量很简单,只需根据需要使用dostring()dofile()即可。这样做可以让你为你的Lua启动做最多的定制,并控制使用什么环境变量,等等。对于更简单的实用程序来说,这也可能不需要一点点努力。

对于这些情况,诸如Luiz Henrique de Figueiredo的srlua这样的工具是一个体面的答案。它需要lua.exe的定制版本,并将应用程序的lua源文件(可能本身是通过压扁构建的)附加到它。运行时,存根会在自己的可执行文件中找到lua代码并运行它。

+1

(+1)非常有见地的答案! :) –

+0

@RBerteig:因为我不想与MacOS一起工作,你可以推荐一个Windows工具,它能够为MacOS(也可能是Linux)编译lua?# – Paedow

+1

@Paedow在Windows上跨目标MacOS的编译更多比一点棘手,可能根本不可能。 Lua本身就是ANSI C,并且易于编译。 Lua字节码具有特定于平台的功能,因此交叉编译更为棘手。可能有一个基于Lua的应用程序和游戏框架可以完成你想要的功能,但这不是我个人知道的。 – RBerteig

相关问题