繁体   English   中英

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

链接的帖子为中文,但代码说明了一切。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM