通过 Emscripten 生成的代码没有 return 值
Generated code via Emscripten doesn't return values
我尝试对数组中的 return 值实现一个非常简单的示例。我的例子看起来很简单,但我不明白为什么它不起作用:
这是我的 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']"
我查看了教程和一些 Whosebug 答案,但我无法正常工作
当使用 ccall
时,传递给 C 函数的参数必须在一个数组中,因此调用 setValue
和 getValue
的 JavaScript 应该是:
Module.ccall('setValue', null, ['number', 'number'], [1, 1]);
var val = Module.ccall('getValue', 'number', ['number'], [1]);
我尝试对数组中的 return 值实现一个非常简单的示例。我的例子看起来很简单,但我不明白为什么它不起作用:
这是我的 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']"
我查看了教程和一些 Whosebug 答案,但我无法正常工作
当使用 ccall
时,传递给 C 函数的参数必须在一个数组中,因此调用 setValue
和 getValue
的 JavaScript 应该是:
Module.ccall('setValue', null, ['number', 'number'], [1, 1]);
var val = Module.ccall('getValue', 'number', ['number'], [1]);