是否存在实现luac功能的.NET DLL?

时间:2008-10-30 19:22:44

标签: .net dll lua luac

有没有人知道封装lua 5.1编译器的任何DLL(最好是.net)?我正在开发一个.net项目,其中部分需要编译lua脚本,我宁愿有一个DLL,我可以发送脚本代码而不是将脚本发送到临时文件并运行luac.exe。

编辑:我需要一个实现luac的.NET库,它输出标准的lua字节码(不是编译成CLR的lua库)。编译lua c源代码不起作用,因为当我在c#项目中包含对dll的引用时,visual studio抱怨它不是有效的程序集。到目前为止,我的搜索没有找到任何内容。

3 个答案:

答案 0 :(得分:1)

luac的所有代码都是用lua分发的...将它变成DLL是微不足道的。

答案 1 :(得分:1)

Lua和.Net集成的Lua.NET项目:

http://www.lua.inf.puc-rio.br/projects/luanet/

答案 2 :(得分:1)

您可以通过the lua-users wiki中的以下命令模拟Lua中的luac

lua -e 'io.write(string.dump(assert(loadfile())))' <sample.lua >sample.out

因此,如果您打算在C语言的API级别执行此操作(即使我知道您使用的是.NET),它应该类似于

lua_dostring(L, "string.dump(assert(loadstring([==[YOUR CODE HERE]==])))");
size_t sz;
char *output = lua_tolstring(L, -1, &sz);

然后只需将sz个字符保存到输出文件中。

我意识到这是一个迟到的答案,但由于这里还没有,我想我会抓住它。