Lua - 获取C表,更新并上传回来

时间:2014-04-05 13:07:00

标签: c lua

我有一个未定义结构的Lua表(例如,用户可以放任何东西 - 数字,字符串等)。我需要将数据表转换为C代码,将其存储在数据文件中,然后稍后打开它并将值恢复到Lua脚本中。

lua_topointer为我提供数据地址,但这就是全部。如何从中获取数据并将其上传回来是无法实现的。

怎么做?

1 个答案:

答案 0 :(得分:3)

在字符串中序列化Lua端的数据不会更好。 (是的,你会丢失不可序列化的数据,如函数或userdata)。然后,您可以将该字符串保存到文件中,然后再进行反序列化。

如果你想在C面上这样做,你应该遍历你的桌子。你只能参考它。这是一个很容易出错的样板代码,你几乎不会从中获得任何性能上的好处。

查看http://lua-users.org/wiki/TableSerialization是否可以使用Lua序列化代码。