免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8540 | 回复: 4
打印 上一主题 下一主题

c中怎么把一个结构体类型的变量传给lua,lua中改变值 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-09-20 07:03 |只看该作者 |倒序浏览
如题,能写个简单的例子最好,谢谢大家了,我是刚学lua的。。

论坛徽章:
1
射手座
日期:2013-08-21 13:11:46
2 [报告]
发表于 2011-09-20 23:20 |只看该作者
暴露getXXX,setXXX给Lua
如果考虑使用第三方库的话,可以考虑用tolua++或者luabind,都把这种事情帮你做好了

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
3 [报告]
发表于 2011-09-21 10:09 |只看该作者
如题,能写个简单的例子最好,谢谢大家了,我是刚学lua的。。
zandb2009 发表于 2011-09-20 07:03



    什么是lua?

论坛徽章:
0
4 [报告]
发表于 2011-09-21 21:53 |只看该作者
暴露getXXX,setXXX给Lua
如果考虑使用第三方库的话,可以考虑用tolua++或者luabind,都把这种事情帮你做好了
egmkang 发表于 2011-09-20 23:20



    能举个getxxx setxxx的例子吗?因为我不想用tolua++之类的东西。。

论坛徽章:
1
射手座
日期:2013-08-21 13:11:46
5 [报告]
发表于 2011-09-22 12:19 |只看该作者
  1. struct stEntry
  2. {
  3.      int x;
  4. };

  5. void l_entity_setX(lua_state *L)
  6. {
  7.     stEntry *pEntry = (stEntry*)lua_touserdata(L, 1);
  8.     if(pEntry)
  9.    {
  10.        int num = lua_tonumber(L,2);
  11.        pEntry->x = num;
  12.    }
  13. }

  14. void l_entry_getX(lua_state *L)
  15. {
  16.      stEntry *pEntry = (stEntry*)lua_touserdata(L, 1);
  17.      if(pEntry)  lua_pushnumber(L,pEntry->x);
  18.      lua_pushnumber(L,-1);
  19. }

  20. //然后给lua_state注册这俩函数:
  21. lua_register(L,"getX",l_entry_getX);
  22. lua_register(L,"setX",l_entry_setX);

  23. //在lua里面调用:
  24. local x = getX(entry);
  25. setX(entry,x+1);
复制代码
我没加错误处理,也没验证过代码.....
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP