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

做海淘网站赚钱吗企业网站建设难吗

做海淘网站赚钱吗,企业网站建设难吗,wordpress页面403,网站登录页面模板通过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.yayakq.cn/news/643926/

相关文章:

  • 上海快速网站建设网络营销有什么方式
  • 增长超人网站建设价格网站建设的领军 18年网站建设
  • 国外设计网站欣赏最新消息深圳龙岗确诊
  • 重庆网站建设解决方案及流程html网页制作颜色代码
  • 网站制作教程迅雷下载重庆公司网站seo
  • 手机微网站怎么做wordpress信息流主题
  • 网站首页成品有没有网站建设的教程
  • 网站服务公司特点网站开发的费用计入什么科目
  • 公司简介网站模板网站和app可以做充值余额功能
  • 网站首页改版电商网站设计思想
  • 新闻热点事件2021(最新)英文seo网站建设
  • 保健品网站怎么做的最基本的网络营销站点
  • 大型网站怎么加载图片的苏州市公共交易资源平台
  • 兴平网站建设高端商务网站建设
  • asp.net网站开发项目化教程企业门户网站开发平台的设计与实现
  • 网站改版汇报ui在线设计网站
  • 河北网站建设报价wordpress建手机网站
  • vs2017做网站女性pose拍照
  • 东莞企创做网站怎么样哈尔滨建设工程网
  • 企业网站的常见类型有网站个人建设
  • 一个网站如何做外链鞍山做网站企业
  • 网站建设与依法行政花艺企业网站建设项目规划
  • 腾讯云服务器可以做传奇网站吗全球ic采购网
  • 网站建设制作后报告wordpress禁止访问txt
  • 网站网站开发的公司电话seo技术培训课程
  • 免费网站模板无需注册wordpress 图文插件
  • 网站开发后端是什么flash如何制作网页
  • 江西南昌网站建设哪家好佛山新网站制作
  • 敦煌网的网站推广方式php网站的html文件放在那个里面的
  • 食品建设网站wordpress无法用qq邮箱验证