跨平台的Lua C#实现

8
我正在寻找一种将Lua嵌入我的跨平台应用程序中的方法,但问题是,在这个平台上,我还没有找到任何完整、稳定、工作良好的Lua实现。我已经尝试了下面列出的库(以下是他们的问题):
- LuaInterface - 要求我为每个平台编译一个dll,不稳定,因为v2使用Windows - KopiLua - 错误,即使是他们自己的示例也无法正常工作 - AluminiumLua - 依赖于DLL,因此不是Lua实现 - NLua - 基于KopiLua并继承了所有的问题 - UniLua - ...它是为Unity开发的
此外,当我进行简单测试时,大多数这些实现都会失败。
for(i=0;i<100000;i)
    Lua.CallSomeFunctionFromLua()

有时会出现错误,特别是在KopiLua和LuaInterface上。

问题是:是否有完整、稳定的Lua实现,严格使用C#编写,没有任何平台依赖性?


2
NLua不是基于KopiLua的。 NLua仅在WindowsPhone(或纯C#环境)中使用KopiLua。但是,NLua使用KeraLua(通过p/Invoke调用本地Lua)。 - Vinicius Jarina
1个回答

1
如果你找不到好的纯C# Lua库,可以尝试给luabind一个机会。根据文档所说,它是可移植的。你可以像这里所说的那样,在luabind和你的框架之间创建C++/CLI接口。虽然这是一个非常冒险的想法,但你将深入控制发生的事情。由于luabind是C Lua的C++包装器,因此在C#上实现接口不会太难。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接