有没有人知道封装lua 5.1编译器的任何DLL(最好是.net)?我正在开发一个.net项目,其中部分需要编译lua脚本,我宁愿有一个DLL,我可以发送脚本代码而不是将脚本发送到临时文件并运行luac.exe。
编辑:我需要一个实现luac的.NET库,它输出标准的lua字节码(不是编译成CLR的lua库)。编译lua c源代码不起作用,因为当我在c#项目中包含对dll的引用时,visual studio抱怨它不是有效的程序集。到目前为止,我的搜索没有找到任何内容。
答案 0 :(得分:1)
luac的所有代码都是用lua分发的...将它变成DLL是微不足道的。
答案 1 :(得分:1)
Lua和.Net集成的Lua.NET项目:
答案 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
个字符保存到输出文件中。
我意识到这是一个迟到的答案,但由于这里还没有,我想我会抓住它。