代码之家  ›  专栏  ›  技术社区  ›  Raul Agrait

柔性炼金术:从C函数返回字节数组

  •  1
  • Raul Agrait  · 技术社区  · 16 年前

    我正在使用Flex的Alchemy库从C文件生成SWC。我有一个字节数组( unsigned char buffer[size] )在c层中,我想返回ActionScript层作为 ByteArray . 我必须遍历数组并显式调用吗 AS3_Set 在每个元素上,还是有一种方法可以一次返回整个C数组?

    2 回复  |  直到 16 年前
        1
  •  2
  •   Raul Agrait    16 年前

    这可以通过使用 AS3_ByteArray_writeBytes

        2
  •  0
  •   dutzi    15 年前

    在C中,当从Flash调用的函数返回时,返回指向C数组的指针,如下所示:

    int * myArray = malloc(100);
    //populate array...
    return AS3_Array("IntType", (int)myArray);
    

    然后,在瞬间:

    import cmodule.<c module name>.MemUser;
    ...
    memory = new MemUser();
    for (var i:int = 0; i<4;i++) { //getting a 4 uints array
        trace(memory._mru16(data[0] + i*4)); //data is the return value from C
    }
    

    或使用 these functions

    推荐文章