2013-06-26 80 views
8

我正在尋找一種方法將Lua嵌入到我的跨平臺嵌入應用程序中。問題是 - 我還沒有在這個平臺上找到任何完整,穩定的Lua工作實現。我試過以下(這裏是庫的名單和他們的問題):Lua的跨平臺C#實現

  • LuaInterface - 需要我編譯每個平臺,不穩定的一個dll,因爲V2使用Windows
  • KopiLua - 錯誤,甚至自己的樣品不工作
  • AluminiumLua - 取決於DLL,因此,沒有一個實現
  • NLua - 基於KopiLua,並繼承了所有的問題
  • UniLua - ...它是團結

此外,大多數這些實現的失敗時,我做了一個簡單的測試:

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

不時它調用的錯誤,特別是在KopiLua和LuaInterface。

問題是:有沒有任何完整的,穩定的Lua在C#中嚴格執行,沒有任何平臺依賴?

+2

NLua不基於KopiLua。 NLua僅將KopiLua用於WindowsPhone(或純C#環境)。但是NLua使用KeraLua(p /調用原生的Lua)。 –

回答

1

如果你不會找到好的純粹的lua實現的C#庫,請嘗試給予機會luabind正如文檔中所說,它是可移植的。您可以在luabind和您的框架之間創建C++/CLI接口,如所示here這是一個非常冒險的想法,但您將對發生的事情有深入的控制。由於luabind是C Lua的C++包裝器,所以在C#上實現接口不會太困難。