打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
tolua++ 使用有感

tolua++ 使用有感

时间:2013-05-31 15:38  浏览:44
最近努力的完善基于 cocos2d-x lua 框架,要靠 tolua++ 来封装 hosts 用到的类,发现这东西还是不太智能,存在很多需要注意的地方。 如果要自己扩展数据类型,比如支持 lua 函数回调,就得

最近努力的完善基于 cocos2d-x lua 框架,要靠 tolua++ 来封装 hosts 用到的类,发现这东西还是不太智能,存在很多需要注意的地方。

如果要自己扩展数据类型,比如支持 lua 函数回调,就得仿照 cocos2d-x tools 目录下的 tolua 那些 pkg + basic.lua ,注册/替换一些 tolua 生成错误的东西。

另外在代码编码方面,也有很多注意事项:

比如它无法识别 const 写在类型后面的情况,像这样: const char * 可以被识别,但 char const * 则无法识别(后果就是 tolua 认为 char const 整个是个变量名)

再比如 int * 它不认识,那只有在预处理 lua 中 replace 掉它的生成错误(在相应的部位加 * 号之类)

一些什么 vector, ** 什么的 也是无法识别的,需要专门的写一些遍历或什么函数来配合 lua 使用

又比如 const char * const 这样的写法,它也是无法识别的,得在 pkg 中去掉后面的 const, 前面加上 tolua_readonly 才行。

最后有个隐蔽的: 像有些 c 代码里的 int/*bool*/val  这种声明,tolua 是无法识别的(它可能是先去掉了所有注释,于是不知道 int 和 val 是分离的了),得处理

上面的说法还不够全面,先想到这么多,后面再补。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Lua脚本在C++下的舞步(入门指引)转 | 泰然网
【COCOS2DX(2.X)_LUA开发之三】在LUA中使用自定义精灵(LUA脚本与自创建类之间的访问)及LUA基础讲解
cocos2d-x LUA Binding实现C++里访问LUA的自定义对象
Cocos2d-x的相关面试题
在你的游戏中应用LUA
lua和c/c 互相调用实例分析 - lxyfirst - C 博客
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服