美文网首页
JSB自动生成流程

JSB自动生成流程

作者: babybus_superdo | 来源:发表于2016-05-30 16:26 被阅读186次

    1.什么是JSB

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

    2.需要什么工具

    • 1.Python
    brew install python
    
    • 2.安装Python依赖 pyYAML 和 Cheetah
     sudo easy_install pip
     sudo pip install PyYAML
     sudo pip install Cheetah
    
    • 3.安装安卓NDK(NDK 64位 r10c版本以上)

    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

    相关文章

      网友评论

          本文标题:JSB自动生成流程

          本文链接:https://www.haomeiwen.com/subject/swqcdttx.html