跨平台的 C# Lua 实现。

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

  • LuaInterface-要求我为每个平台编译一个 dll,不稳定,因为v2使用的是Windows
  • KopiLua-错误,甚至他们自己的示例也无法工作
  • AluminiumLua-依赖于 DLL,因此不是实现
  • NLua-基于 KopiLua,继承所有问题
  • UniLua-……它是为Unity而设计的

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

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

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

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

点赞
用户352555
用户352555

如果无法找到好的纯C#实现的lua库,请尝试给luabind一个机会。根据文档所说,它是可移植的。你可以像这里所说的那样在luabind和你的框架之间建立C++/CLI接口。这是个冒险的想法,但你将有深度控制。由于luabind是C语言Lua的C++封装器,因此在C#上实现接口并不太困难。

2013-06-26 16:04:21