How can I know return value count of a Lua function from C?

自作多情 提交于 2019-12-02 23:09:25

Yes.

int top = lua_gettop(L);
luaL_loadstring(L, "return 3, 4, 5");
int R = lua_pcall(L, 0, LUA_MULTRET, 0);
int nresults = lua_gettop(L) - top;

You use LUA_MULTRET, and then use lua_gettop to figure out the top of the stack before and after the call.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!