【问题标题】:Setting and getting lua tables from C从 C 中设置和获取 lua 表
【发布时间】:2018-09-03 19:52:36
【问题描述】:

目前,在调用 lua_pcall() 运行脚本之前,我从 C 中构建并推送一个表(从键值对的 C 字典派生)到 lua 堆栈 - 这部分工作正常。

但是在运行脚本之后,我希望能够从 C 中遍历同一个表,查找任何更改以便在需要时更新原始 C 字典值,所有这些都无需在 lua 脚本中返回表。

这样做的最佳方法是什么?或者有没有更好的方法来实现设置和获取餐桌的相同目标。

【问题讨论】:

  • 将元方法 __index__newindex 实现为 C 函数并将它们推到桌面上。

标签: c lua


【解决方案1】:

您不能像pointer 那样直接访问它,您需要再次从 lua 堆栈推送它才能像示例中那样从 C 端访问它。 另一种更简单的方法是使用 luajitffi 库

【讨论】:

    猜你喜欢
    • 2021-06-13
    • 2015-05-21
    • 2022-01-11
    • 2021-03-11
    • 2016-02-19
    • 2013-10-03
    • 2011-07-30
    • 1970-01-01
    • 2014-12-24
    相关资源
    最近更新 更多