【发布时间】:2017-09-27 09:49:26
【问题描述】:
我可以从我的 C++ 代码中获取用户数据。我想知道是否可以将其转换为某些东西,以便我可以取消引用它的字段并调用它的方法,而无需通过 Lua。
换句话说:
一旦我获得了一个用户数据并将其放入 Lua 堆栈中,我怎样才能将其取出并将其用作某个类的对象?我知道我感兴趣的所有字段和方法(它们的 Lua 名称),但不一定知道 userdata 底层实现提供的所有字段和方法。
有没有办法以某种方式创建一个知道每个成员偏移量的接口?
我相信问题是,我如何知道用户数据的 Lua 视图中每个成员的偏移量,所以我可以创建一个结构来将 lua_touserdata 返回的 void * 转换为?
【问题讨论】: