Lua的跨平台C#实现



我正在寻找一种将Lua嵌入到我的跨平台嵌入应用程序中的方法。问题是,我还没有在这个平台上找到任何完整、稳定、有效的Lua实现。我已经尝试了以下内容(以下是存储库及其问题的列表):

  • LuaInterface-要求我为每个平台编译一个dll,不稳定,因为v2使用Windows
  • KopiLua-错误,甚至他们自己的样本也不起作用
  • AluminiumLua-依赖于DLL,因此不是实现
  • NLua-基于KopiLua并继承所有问题
  • UniLua。。。这是为了团结

此外,当我做一个简单的测试时,这些实现中的大多数都会失败:

for(i=0;i<100000;i)
    Lua.CallSomeFunctionFromLua()

它不时地调用一个错误,尤其是在KopiLua和LuaInterface上。

问题是:在没有任何平台依赖的情况下,是否有任何完整、稳定的Lua严格在C#中实现?

如果你找不到好的lua实现的纯C#库,试着给luabind一个机会。正如文档中所说,它是可移植的。您可以在luabind和您的框架之间创建C++/CLI接口,就像这里所说的那样。这是一个非常危险的想法,但您可以对发生的事情进行深度控制。由于luabind是C Lua的C++包装器,所以在C#上实现接口不会太难。

最新更新