我尝试保存/序列化Lua状态。我知道,我必须保存/序列化所有全局变量,我在_G中找到它,但不知道如何保存/序列化我发现的LuaFunctions。我尝试使用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。
答案 0 :(得分:0)
解决。
问题是,string.dump
返回的二进制块被处理为字符串。所以它被剪切在字符串中的第一个空字节,这是在5个字节之后。更改了DoString
的调用,以便它正确处理字节数组。