1
我想用emscripten和C++做一些庫測試。我需要讓一些JavaScript變量在C++調用之間保持不變,但我一直無法弄清楚如何去做。如何使用C++使用Emscripten在JavaScript中分配變量並將它們保持在範圍內?
我覺得這可能是簡單的,我錯過了,或者它不可能。這是一個獨立的程序,沒有別的東西在運行。下面是一個最小的例子:
#include <emscripten.h>
int main() {
//this works and prints 1
EM_ASM(
var x = 1;
console.log(x);
);
//this throws an error 'x is not defined'
EM_ASM(
console.log(x);
);
return 0;
}
予編譯並使用下面的命令運行該代碼:
emcc main.cpp
node a.out.js
的輸出是所述第一呼叫正確,但第二個呼叫拋出一個沒有定義的錯誤。我需要一些方法來保持這個變量在範圍之間的調用,所以我可以使用它。
任何幫助?謝謝。