zoukankan      html  css  js  c++  java
  • FlasCC例子研究之SWC

    通过前面的例子,我们已经可以用C++生成SWF,并且,也学会了如何用C++和AS3交互,以及创建一个可以循环的程序。

    但是,如果C++和AS3的结合开发是如此痛苦的话,那我觉得FlasCC就没有存在的意义了。 还好,看到了这个例子。

    这个例子是向大家展示如何利用FLASCC生成SWC,以供AS3代码调用的。 这个机制真的很强大,当一个AS3在使用一个用FLASCC生成的SWC时,它是完全感觉不到这个SWC是用C++代码,通过FLASCC生成的。

    这个例子使用了一个MurmurHash的哈希函数的实现,来展示SWC的生成。 即这个例子将MurmurHash包装成了AS3类,并打包成AS3,供大家使用。

    打开它的头文件,你可以发现3个函数。 当然,就算是有300个函数,也无所谓,因为具体的C++代码是什么,不是我们关注的重点,哪怕只是一个函数里面写了一个printf,我们也可以继续这个例子。

    嗯,要特别注意一下那个叫 as3api.cpp的家伙。 这个文件就展示了如何使用FlasCC提供的as3sig语法来控制C/C++函数。这种语法提供了一个非常好的方式来书写AS3和C/C++代码库。它能够进行一些必要的类型转换。

    嘿嘿,你肯定想说,哇靠,居然不能自己生成。 其实,是可以的,不过要下一个例子才会教。

    比较特别的是,这个例子不但用了GCC,还用了FLEX编译器。

    //使用C++编译为SWC 注:-jvmopt=-Xmx1G 是我加上的,因为编译的时候,有提示我错误。

    "$(FLASCC)/usr/bin/g++" $(BASE_CFLAGS) -O4 -jvmopt=-Xmx1G MurmurHash3.cpp as3api.cpp main.cpp -emit-swc=sample.MurmurHash -o MurmurHash.swc

    //使用mxmlc生成SWF
    "$(FLEX)/bin/mxmlc" -static-link-runtime-shared-libraries -compiler.omit-trace-statements=false -library-path=MurmurHash.swc -debug=false swcdemo.as -o swcdemo.swf

    剩下的,就是上图了

    image

  • 相关阅读:
    探索c#之Async、Await剖析
    探索C#之布隆过滤器(Bloom filter)
    探索C#之虚拟桶分片
    刷新本地的DNS缓存数据
    php取整函数ceil,floor,round,intval函数的区别
    这样顶级人生规划 ,想不成功都难
    全篇干货,10分钟带你读透《参与感》
    iOS审核秘籍】提审资源检查大法
    php如何遍历多维的stdClass Object 对象,php的转换成数组的函数只能转换外面一丛数组
    RDS MySQL 连接数满情况的处理
  • 原文地址:https://www.cnblogs.com/qilinzi/p/3086404.html
Copyright © 2011-2022 走看看