我尝试实现一个非常简单的示例来返回数组中的值。我的例子似乎很简单,但我无法理解为什么它不起作用:
这是我在C ++中的代码
static int results[20];
extern "C" {
void setValue(int index, int value {
results[index] = value;
}
int getValue (int index) {
return results[index];
}
};
我的代码在.html:
Module.ccall('setValue',null,['number','number'],1,1);
var val = Module.ccall('getValue','number',['number'],1);
我的编译命令:
emcc --bind -o face_quick_example.js face_quick_example.cpp -s EXPORTED_FUNCTIONS="['_setValue','_getValue']"
我检查了教程和一些stackoverflow答案,但我无法正常工作
答案 0 :(得分:4)
使用ccall
时,要传递给C函数的参数必须在数组中,因此用于调用setValue
和getValue
的JavaScript应为:
Module.ccall('setValue', null, ['number', 'number'], [1, 1]);
var val = Module.ccall('getValue', 'number', ['number'], [1]);