如何向Wasm传递参数?emcc编译C++后的传参方法问询
如何给Emscripten编译的Shell环境JS传递命令行参数
你的编译命令已经正确指定了-sENVIRONMENT=shell,这个环境下直接在运行JS时通过命令行传递参数即可,和运行普通Node.js脚本的方式一致:
- 保持现有的C++代码和编译命令不变
- 运行生成的
test.js时,在脚本名后直接追加参数:
node test.js 你的第一个参数
如果要传递多个参数,用空格分隔即可:
node test.js 参数1 参数2 "带空格的参数"
举个实际例子,运行:
node test.js "Hello Emscripten"
你的C++代码就会输出Hello Emscripten,因为argv[1]会拿到这个字符串,argc的值会是2(脚本名算第一个参数,传递的内容是第二个)。
原理很简单:在shell环境中,Emscripten会自动把Node.js命令行里除了node和脚本路径之外的所有参数,映射到C++main函数的argc和argv中。
内容的提问来源于stack exchange,提问作者Enzo
相关产品推荐
相关产品推荐

