如何在Lua与C/C++之间实现table数据的交换
1个回答
展开全部
你说的应该是用c语言往lua里传递一组table数据吧
LUA的 C库有提供相关的接口 实现这个操作
不过接口并不是直接使用的 你需要对lua与c交互有足够的理解 自己去构造一个方法
相关的实现 你可以搜一下 应该有很多现成的代码
不过不推荐使用这种方法去操作数据 因为table表的结构多变 你很难构造一个通用的方法去完成多种table表的数据传递 那会导致这样一种情况 基本上每个table表的传递 你都要重新构造一个c的方法 这种工作量算下来不划算
更合理的方式是 对于table表里对应的c中的数据 你给出lua中可以访问的接口 在lua中构造这个table表 这样操作更灵活
至于把luatable数据传递给c 需要说明的是 c中并不存在table这种数据结构 如果你要这么做
你需要在c端自己构造一个方法去解析table 这里也不推荐这么做 理由同上 更好的方法是把table表中的元素拆解出来 需要传递的元素在c端做一个接口
LUA的 C库有提供相关的接口 实现这个操作
不过接口并不是直接使用的 你需要对lua与c交互有足够的理解 自己去构造一个方法
相关的实现 你可以搜一下 应该有很多现成的代码
不过不推荐使用这种方法去操作数据 因为table表的结构多变 你很难构造一个通用的方法去完成多种table表的数据传递 那会导致这样一种情况 基本上每个table表的传递 你都要重新构造一个c的方法 这种工作量算下来不划算
更合理的方式是 对于table表里对应的c中的数据 你给出lua中可以访问的接口 在lua中构造这个table表 这样操作更灵活
至于把luatable数据传递给c 需要说明的是 c中并不存在table这种数据结构 如果你要这么做
你需要在c端自己构造一个方法去解析table 这里也不推荐这么做 理由同上 更好的方法是把table表中的元素拆解出来 需要传递的元素在c端做一个接口
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询