我需要实现一个C函数,以便Lua脚本调用。我希望从该函数返回一个作为表的数组。我尝试使用下面的代码,但是程序崩溃了。请问有人知道如何使用它吗?
struct Point {
int x, y;
}
typedef Point Point;
static int returnImageProxy(lua_State *L)
{
Point points[3] = {{11, 12}, {21, 22}, {31, 32}};
lua_newtable(L);
for (int i = 0; i 3; i++) {
lua_newtable(L);
lua_pushnumber(L, points[i].x);
lua_rawseti(L, -2, 2*i+1);
lua_pushnumber(L, points[i].y);
lua_rawseti(L, -2, 2*i+2);
lua_settable(L,-3);
}
return 1; // 我想要返回一个像这样的Lua表:{{11, 12}, {21, 22}, {31, 32}}
}