You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向Wasm传递参数?emcc编译C++后的传参方法问询

如何给Emscripten编译的Shell环境JS传递命令行参数

你的编译命令已经正确指定了-sENVIRONMENT=shell,这个环境下直接在运行JS时通过命令行传递参数即可,和运行普通Node.js脚本的方式一致:

  1. 保持现有的C++代码和编译命令不变
  2. 运行生成的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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 07:04:57