代码之家  ›  专栏  ›  技术社区  ›  Ingwie Phoenix

运行webassembly的工具

  •  0
  • Ingwie Phoenix  · 技术社区  · 5 年前

    wasm显然无处不在。我甚至还看到了一些基于x86的仅支持wasm的vm,这非常令人兴奋!不幸的是,它没有建立在我的Mac上-太糟糕了。

    我研究这个问题的原因很简单:我可以很容易地编译一些东西——即C++、生锈、去向或其他东西——并从中得到一个WASM二进制文件,包含指令。 wasm32-unknown-unknown . 到目前为止,还不错。但我该怎么做呢?

    有了Emscripten,我可以让它生成一个JS包装器,它非常好,非常有用。但如果我只想直接瞄准wasm int main(void) 我想跑进去吗?看起来每个wasm文件 需要 为了正确执行js包装器。

    有没有办法“运行”wasm文件?

    0 回复  |  直到 5 年前
        1
  •  1
  •   sbc100    5 年前

    你是对的,今天很多wasm的使用都是在js的上下文中进行的。然而,在js之外运行wasm有一些努力。我知道的两个是:

        2
  •  1
  •   Gabriel Cuvillier    5 年前

    一定要查看lifevm: https://github.com/perlin-network/life

    你可以像这样运行一个WASM程序:

    ./life -entry 'method' /path/to/your/wasm/program.wasm [param,...] 
    

    但是请记住,这只是一个虚拟机,所有的“平台/环境”api(io/graphics/networking/etc…)都必须开发或以某种方式提供。这就是为什么wasm在js的上下文中使用非常方便的原因:对于许多用例都有webapi。

    我的建议是:如果你只是想涉猎wasm并学习它,只需使用emscripten/web并停止担心:)一旦你觉得自己精通它,也许这将是一个很好的时间去看看较低级别的vm端(没有api的世界)