我想知道 lua_call 是如何运作的
I want to know how lua_call works
我正在尝试在 C++ 中使用 lua。
这是我的代码。
int main() {
lua_State* L = lua_open();
luaL_openlibs(L);
luaL_loadfile(L, "test.lua");
lua_call(L, 0, 0);//First lua_call, just it Runs .lua script
lua_getglobal(L, "funcFromLua");
int a = 10;
lua_pushinteger(L, a);
lua_call(L, 1, 0);//Second lua, calls funcFromLua. right?
lua_close(L);
}
第一个 lua_call 和第二个 lua_call 做不同的事情吗?
我不确定我在代码中的注释是否正确。
只有一个问题,我应该只做一次lua_getglobal(L, "a func")
吗?
下面是test.lua
function funcFromLua(a)
print("a is", a)
end
您在代码中的注释是正确的。
第一个 lua_call
执行加载脚本的内容,test.lua
。这定义了一个全局变量 funcFromLua
.
第二个 lua_call
调用 funcFromLua
并将 a
设置为 10。
我正在尝试在 C++ 中使用 lua。 这是我的代码。
int main() {
lua_State* L = lua_open();
luaL_openlibs(L);
luaL_loadfile(L, "test.lua");
lua_call(L, 0, 0);//First lua_call, just it Runs .lua script
lua_getglobal(L, "funcFromLua");
int a = 10;
lua_pushinteger(L, a);
lua_call(L, 1, 0);//Second lua, calls funcFromLua. right?
lua_close(L);
}
第一个 lua_call 和第二个 lua_call 做不同的事情吗?
我不确定我在代码中的注释是否正确。
只有一个问题,我应该只做一次lua_getglobal(L, "a func")
吗?
下面是test.lua
function funcFromLua(a)
print("a is", a)
end
您在代码中的注释是正确的。
第一个 lua_call
执行加载脚本的内容,test.lua
。这定义了一个全局变量 funcFromLua
.
第二个 lua_call
调用 funcFromLua
并将 a
设置为 10。