【问题标题】:Cross-platform C# implementation of Lua [closed]Lua 的跨平台 C# 实现 [关闭]
【发布时间】:2013-06-23 00:48:39
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

  • NLua 不是基于 KopiLua。 NLua 仅将 KopiLua 用于 WindowsPhone(或纯 C# 环境)。但是 NLua 使用 KeraLua(p/Invoking the native Lua)。

标签: c# .net mono lua luainterface


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2018-06-24
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 2021-01-23
    • 2010-10-22
    • 2013-12-30
    相关资源
    最近更新 更多