我的 Lua 表具有未定义的结构(例如,用户可以在其中放置任何内容 - 数字、字符串等)。我需要将数据表转换为 C 代码,将其存储在数据文件中,然后一段时间后打开它并将值恢复到 Lua 脚本中。
lua_topointer
获取我的数据地址,但仅此而已。无法从中获取数据并将其上传回来。
如何做到这一点?
最佳答案
在 Lua 端以字符串形式序列化数据不是更好。 (是的,您将丢失不可序列化的数据,例如函数或用户数据)。然后您可以将该字符串保存到文件中,并稍后反序列化。
如果你想在C端这样做,你应该遍历你的 table 。您只能引用它。这是很多容易出错的样板代码,而且您几乎不会从中获得任何性能优势。
看看http://lua-users.org/wiki/TableSerialization即可使用的 Lua 序列化代码。
关于c - Lua - 将表获取到 C,更新它并将其上传回来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22881287/