0

我尝试保存/序列化 Lua 状态。我知道,我必须保存/序列化我在 _G 中找到的所有全局变量,但不知道如何保存/序列化我找到的 LuaFunction。我尝试使用string.dump,但它只提供带有 Lua 签名的字符串(使用 LuaQ 的 5 个字节)。

该功能string.dump有效,因为如果我打电话

lua.DoString("print(string.len(string.dump(CountItems)))");

我得到 409 而不是 5 作为字符串的长度。所以转储工作正常。这可能是 LuaInterface 的问题。

有人在那里,如何通过 LuaInterface 实现 Lua 状态的序列化?

最好的问候,德克

PS:我在 VS 2010 C# Express 上使用 KopiLua 5.1.4 和 LuaInterface 2.0.4。

4

1 回答 1

0

解决了。

问题是,string.dump返回的二进制块是作为字符串处理的。所以它在字符串中的第一个空字节处被剪切,也就是 5 个字节之后。更改了 的调用DoString,使其正确处理字节数组。

于 2013-12-19T07:33:43.683 回答