2.5 EM_ASM系列宏
很多编译器支持在C/C代码直接嵌入汇编代码,Emscripten采用类似的方式,提供了一组以“EM_ASM”为前缀的宏,用于以内联的方式在C/C代码中直接嵌入JavaScript代码。
2.5.1 EM_ASM
EM_ASM使用很简单,只需要将欲执行的JavaScript代码置于参数中,例如:
#include <emscripten.h>
int main() {
EM_ASM(console.log('你好,Emscripten!'));
return 0;
}
上述代码将调用JavaScript方法console.log()输出“你好,Emscripten!”。
EM_ASM宏可以一次嵌入多条JavaScript语句,语句之间用分号分隔,例如:
EM_ASM(var k = 42;console.log('The answer is:', k););
将输出:
The answer is:42
嵌入的多条语句分行书写以及行尾注释也是可行的(分行书写时语句之间必须以分号分隔,不能省略),例如:
EM_ASM(
var k = 42; //defin