JSB自动生成流程

2016-05-30  本文已影响186人  babybus_superdo

1.什么是JSB

就是JS-binding,把C++代码经过既定的规则转换成JS可以调用的接口。

2.需要什么工具

brew install python
 sudo easy_install pip
 sudo pip install PyYAML
 sudo pip install Cheetah

3. *.ini文件解析

图1.png

**name: **单纯只是名称。
**prefix: **最后生成的文件都会以这个命名前缀,如 prefix.cpp, prefix.hpp, prefix_api.js
**classes: **你的所需转换的类的名称,必须是所导入的头文件中所有的类,这里可以使用正则表达式来加入多个类,参考cocox2dx.ini。
extra_arguments: 一些接口所需的系统参数。如clang包,android ndk包的引入所需的系统参数,写法可以参照以上三个.ini。
**headers: **你所需要绑定的头文件路径。
target_namespace:命名空间。最后生成的JS文件的类,会以这个命名空间开头。例如你的类为sqlite,命名空间为cocos2dx,那么最后生成的就是cocos2dx.sqlite。
rename_functions:可以将你要绑定的方法的名称更改成你所要的。可以更改多个,用逗号隔开,写法参照 SqliteCpp::[sqlite3_execCpp=sqlite3_exec],这个就是将SqliteCpp中的sqlite3_ execCpp方法重命名为sqlite3_exec方法。
**rename_classes **:同上,重命名类。
**skip **:跳过你所不需要绑定的方法和类,于是就不生成。

4. *.sh文件

.sh文件:主要调用程序,用来读取.ini配置文件和写部分参数。
**参考例子:/tools/tojs/genbindings.sh

5. 在Appdelegate.ccp中引用

图2.png
图3.png

_本站文章为 宝宝巴士 SD.Team 原创, 转载务必在明显处注明:(作者官方网站: 宝宝巴士 ) _
_转载自【宝宝巴士SuperDo团队】原文链接: http://www.jianshu.com/p/a0273a385284

上一篇下一篇

猜你喜欢

热点阅读