目前我有一组SWIG包装器,所有内容都已构建完成。我可以创建一个lua虚拟机并加载我的包装器,但此时我感到困惑。通过谷歌搜索,我了解到如何将C++放入Lua中,但不知道如何将Lua放入C++中。 实际上,我只想实例化一个lua对象并将其指针传递给我的主游戏引擎对象,从那里我可以进行管理。
请查看《Programming in Lua》一书,其中有关于Lua C API的章节。要调用Lua函数,请使用lua_pcall,它等同于lua_call(该函数有一个简短的示例),但它会捕获Lua运行时错误。您必须已经加载并运行了脚本(例如使用luaL_dofile),因为第一步是让脚本定义函数以便您调用。当它返回时,您可以使用lua_getglobal访问脚本定义的函数。