tolua++从C++代码中调用Lua函数
tolua++ Calling Lua function from C++ code
我正在尝试使用tolua++库将Lua脚本嵌入到我的c++应用程序中。我很清楚如何将C++类绑定到Lua,从Lua脚本创建它们并调用方法。然而,我真的无法理解如何从C++调用Lua脚本函数(通过传递参数和获取返回值)。
你能说出用tolua++做这件事的标准方法吗?tolua++是否涵盖了这一点,或者我必须使用Lua C Api?
您应该使用CAPI,它如下所示:
在lua:
function showValue(strFirstName, strLastName)
strName = strFirstName .. "." .. strLastName
print(strName)
return strName, "is", 18
end
在c++中:
lua_getglobal(L, "showValue");
lua_pushstring(L, "William");
lua_pushstring(L, "Hsueh");
lua_pcall(L, 2, 3, 0);
// get return values
int nOld = lua_tonumber(L, -1);
const char *pIs = lua_tostring(L, -2);
const char *pName = lua_tostring(L, -3);
您可以在以下位置查看整个示例:http://blog.deskangel.com/?p=459
链接的帖子是中文的,但代码说明了一切。
相关文章:
- 调用 lua 函数的地址为 C/C++?
- C++-在没有自定义.lib文件的情况下从Lua C模块调用Lua函数
- 使用二进制参数调用LUA方法
- 从c++调用lua函数时,如何使表和变量值保持不变
- C++ - 调用 Lua 函数始终返回 0
- 从C++调用 lua 函数时"Error in error handling"
- Lua errorPANIC:调用 Lua API 时出现不受保护的错误(尝试调用 nil 值)
- 从C++中调用Lua函数
- 在 c++ 中调用 lua 函数(带有 require 'nn')
- 在C++中从表调用lua函数
- 在线程中从C++调用Lua
- 从缺少参数C++调用 Lua 函数
- tolua++从C++代码中调用Lua函数
- LuaPlus:如何从多线程C++中调用Lua函数
- 从不同的线程调用Lua函数(在C++中嵌入Lua)可以吗
- 从c++中调用Lua表函数w/ self in函数
- 从string_t调用Lua函数
- 当Lua被绑定到类中时,使用LuaBind在类中调用Lua函数
- 使用自定义数据作为函数参数调用lua回调
- 调用Lua:使用setField来指向自身