我将Lua嵌入C/C++应用程序中。是否有办法在不先执行整个脚本的情况下从C/C++调用Lua函数?
我尝试过以下方法:
但是它给了我这个:
这是我的Lua脚本:
我尝试过以下方法:
//call lua script from C/C++ program
luaL_loadfile(L,"hello.lua");
//call lua function from C/C++ program
lua_getglobal(L,"bar");
lua_call(L,0,0);
但是它给了我这个:
PANIC: unprotected error in call to Lua API (attempt to call a nil value)
只有当我这样做时才能调用bar():
//call lua script from C/C++ program
luaL_dofile(L,"hello.lua"); //this executes the script once, which I don't like
//call lua function from C/C++ program
lua_getglobal(L,"bar");
lua_call(L,0,0);
但它给我这个:
hello
stackoverflow!!
我希望你能为我提供以下服务:
stackoverflow!
这是我的Lua脚本:
print("hello");
function bar()
print("stackoverflow!");
end
function bar()
提取到另一个文件中并仅运行该文件。 - greatwolf