将字节数组数据从C ++传递给Haxe

时间:2017-06-09 17:41:17

标签: haxe openfl cffi

我们正在尝试将原始数据从C ++传递给Haxe,但我们有很多三倍。

我们尝试了这个解决方案http://community.openfl.org/t/passing-bytes-from-c-to-haxe/8046/2但是没有为我们工作。

C ++

'' in row

HAXE

void Clazz::func(unsigned char *data, int length)
{
    XXX_ENTER_HAXE();
    val_call1(m_callback->get(), alloc_array(length));
    XXX_EXIT_HAXE();
}

1 个答案:

答案 0 :(得分:1)

我刚学习haxe如何被动地从C ++接收字节

C ++:

int len = 10;
unsigned char buf[len];
buf[0] = 12;

::Helper_obj* helper = new ::Helper_obj();
printf("Haxe result:%d\n", helper->processBytes(&buf, len));

HAXE:

class Helper{
  public function new(){}
  public function processBytes(raw:cpp.Pointer<cpp.Uint8>, len:Int):Int{
    var array<cpp.Uint8> = cpp.NativeArray.toUnmanagedArray(raw, len);
    var bytes:Bytes = Bytes.ofData(array);
    return bytes.get(0);
  }
}

输出:

Haxe result:12