tolua ++从C ++代码调用Lua函数

时间:2013-07-28 15:18:40

标签: c++ lua tolua++

我正在尝试使用tolua ++库将Lua脚本嵌入到我的c ++应用程序中。对我来说很明显,如何将C ++类绑定到Lua,从Lua脚本创建它们并调用方法。但是,我不能真正介绍如何从C ++调用Lua脚本函数(传递参数并获取返回值)。

你能说出使用tolua ++的标准方法吗? tolua ++是否涵盖了这一点,或者我必须使用Lua C Api?

1 个答案:

答案 0 :(得分:0)

您应该使用CAPI,它类似于以下内容:

in 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

查看整个示例

链接的帖子是中文的,但代码说的都是。