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

  • 相关阅读:
    php 人员权限管理(RBAC)
    CSS3的@keyframes用法详解
    phpcms安装与使用
    PDO 数据访问抽象层
    ajax的分页查询
    php 增删改查范例(3)
    php 增删改查范例(2)
    maven部署项目流程(区分环境)
    springboot分环境打包(maven动态选择环境)
    Guava Cache -- MapMaker.makeComputingMap测试
  • 原文地址:https://www.cnblogs.com/qilinzi/p/3086404.html
Copyright © 2011-2022 走看看