如何在EM_ASM中读取C ++数组的元素

时间:2017-07-02 22:50:42

标签: javascript c++ emscripten

这段代码错了,但它告诉了我要做的事情

float a[2] = {1.0f, 2.0f};
EM_ASM({
    var sum = $0[0] + $0[1];
}, a);

什么是正确的方法?

1 个答案:

答案 0 :(得分:0)

正确的方法是

float a[2] = {1.0f, 2.0f};
EM_ASM_({
    var sum = getValue($0+0, 'float') + getValue($0+4, 'float');
}, a);

要获取float数组中的n元素,请执行此getValue($0 + n*4, 'float')
如果它是双数组,则为getValue($0 + n*8, 'double')