当前位置: 首页 > news >正文

上海网站建设要多少钱重庆手机网站推广价格

上海网站建设要多少钱,重庆手机网站推广价格,企业门户网站建设方案文档,如何让百度搜到我的网站通过c调用lua接口将数据存储到虚拟栈中,就可以在lua脚本在虚拟栈中取得数据 c调用lua库,加载lua文件, lua_State* L;//定义一个全局变量***************************L luaL_newstate();luaL_openlibs(L);//打开Lua脚本文件std::string pat…

通过c++调用lua接口将数据存储到虚拟栈中,就可以在lua脚本在虚拟栈中取得数据

c++调用lua库,加载lua文件,

lua_State* L;//定义一个全局变量***************************L = luaL_newstate();luaL_openlibs(L);//打开Lua脚本文件std::string path = SysContext::instance()->_env["WORKSPACE"] + "test.lua";luaL_dofile(L, path.c_str());lua_getglobal(L, "output");  //加载lua文件中的output函数pushLua(ObjsData(数据));int iRet = lua_pcall(L, 1, 1, 0);if (iRet)  // 调用出错{const char* pErrorMsg = lua_tostring(L, -1);lua_pop(L, 1);lua_close(L);return 1;}if (lua_isnumber(L, -1))  //取值输出{int fValue = lua_tonumber(L, -1);printf("fValue:%f\n", fValue);//do something}if (lua_isstring(L, -1))  //取值输出{std::string s = lua_tostring(L, -1);// do something}lua_close(L);

以下为c++调用lua接口存储数据

 其中 lua_settable(L, -3);

就是把表在lua堆栈中的值弹出来,index 是table 在堆栈中的位置,假如 table 在 -3, 则key 应该是 -2,value 是 -1

结构:最外层table=count+objs,count和objs都是一个table,objs内部又包含很多个table

void pushLua(ObjsData* obj) {int ntop = lua_gettop(L);lua_newtable(L);lua_pushstring(L, "count");  //这里需要output多一个输入lua_pushnumber(L, obj->count);lua_settable(L, -3);lua_pushstring(L, "objs");  //整体输入一个大的 tablefor (int i = 0; i < obj->count; i++) {const SingleObj* p = (const SingleObj*)&obj[1];lua_newtable(L);lua_pushnumber(L, i);lua_newtable(L);lua_pushstring(L, "x");lua_pushnumber(L, p->x);lua_settable(L, -3);lua_pushstring(L, "y");lua_pushnumber(L, p->y);lua_settable(L, -3);lua_pushstring(L, "z");lua_pushnumber(L, p->z);lua_settable(L, -3);lua_pushstring(L, "Volume");lua_pushnumber(L, p->volume);lua_settable(L, -3);lua_settable(L, -3);}lua_settable(L, -3);
}

lua脚本如下:

注意:table(键值对结构)嵌套,在取值的时候采用中括号取值,如objs[0]["x"],若key值是字符串,可以写成objs[0].x,但是数字应该只能写中括号的形式

str = "test" 
function output(x)print(x.objs[0].x)res= "count="..tostring(x.count)..",x="..tostring(x.objs[0].x)..",y="..tostring(x.objs[0].y).."\n"return res
end

参考:[Resolved] How to create nested Lua tables using the C API

http://www.sczhlp.com/news/147964/

相关文章:

  • 电商网站程序郑州 网站 公司
  • 建设官方网站怎么登录开一个网站_只做同城交易
  • 经典网站模板下载网站设计展示
  • 装饰网站建设流程工信部网站备案号查询
  • 光谷中心城建设投资有限公司网站网站开发申请报告
  • wordpress php7芜湖网站优化
  • 营销网站制作软件做网站哪家比较好
  • 创建网站的软件跨境电商平台有哪些app
  • 网站在建设中wordpress如何做关键词和描述设置
  • 灯饰网站源码wordpress扒站工具
  • Docker命令大全:从入门到入土(不是),从懵懂到精通!一篇搞定所有骚操作 - r1
  • MyEMS 如何让企业碳足迹 “可视化”?
  • 关于药品网站建设策划书wordpress中文主程序优化
  • Sharding-Proxy、ShardingSphere 和 Sharding-JDBC区别
  • echarts4升级为echarts5的常见问题
  • 外贸网站需要备案吗福州网站建?O
  • 建设厅网站总经济师是干什么的品牌建设案例
  • 做网站送优化wordpress修改自定义尺寸logo
  • 庆阳吧金华网站建设seo
  • 免费网站创建济南建站价格
  • 响应式网站的登录设置wordpress 软件公司主题
  • 网站开发php有哪些礼品网站如何做
  • 计算机做网站开题报告电子商务网站建设的目标
  • 机关网站建设存在的问题WordPress文字水印
  • ui中国设计网站页面景观设计论文
  • 环卫公厕建设门户网站访谈公司邮箱地址
  • 【故障排查】安防监控系统EasyCVR服务无法访问?警惕杀毒软件误删主程序!
  • 借助GameObjectRecorder实现Animator录制
  • ISO 周计算 记录
  • 宿迁做网站哪家公司好wordpress主题 百度云