8

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

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

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

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

它有时会引发错误,尤其是在 KopiLua 和 LuaInterface 上。

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

4

1 回答 1

1

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

于 2013-06-26T16:04:21.703 回答