Lua的跨平台C#实现

Dam*_*all 8 .net c# mono lua luainterface

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

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

此外,当我进行简单的测试时,大多数这些实现都失败了:

for(i=0;i<100000;i)
    Lua.CallSomeFunctionFromLua()
Run Code Online (Sandbox Code Playgroud)

它不时会调用错误,特别是在KopiLua和LuaInterface上.

问题是:在C#中是否有任何完整,稳定的Lua实现,没有任何平台依赖性?

Edw*_*d83 1

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