Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 托卢亚++;从C++;代码_C++_Lua_Tolua++ - Fatal编程技术网

C++ 托卢亚++;从C++;代码

C++ 托卢亚++;从C++;代码,c++,lua,tolua++,C++,Lua,Tolua++,我尝试使用TROUA++库将Lua脚本嵌入到C++应用程序中。对我来说,如何将C++类绑定到Lua,从Lua脚本和调用方法创建它们是很明显的。但是,我不能真正地从C++调用如何调用Lua脚本函数(带有传递参数和获取返回值)。p> 你能告诉我使用tolua++的标准方法吗?tolua++是否涵盖了这一点,或者我必须使用Lua C Api?您应该使用CAPI,如下所示: 在卢阿: function showValue(strFirstName, strLastName) strName =

我尝试使用TROUA++库将Lua脚本嵌入到C++应用程序中。对我来说,如何将C++类绑定到Lua,从Lua脚本和调用方法创建它们是很明显的。但是,我不能真正地从C++调用如何调用Lua脚本函数(带有传递参数和获取返回值)。p>
你能告诉我使用tolua++的标准方法吗?tolua++是否涵盖了这一点,或者我必须使用Lua C Api?

您应该使用CAPI,如下所示:

在卢阿:

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);
您可以在以下位置查看整个示例:


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

我认为这不是解决方案。@einverne,那么,你的解决方案是什么?