Module 如何检查wasm二进制文件的WebAssembly版本

Module 如何检查wasm二进制文件的WebAssembly版本,module,versioning,webassembly,Module,Versioning,Webassembly,给定一个.wasm文件,如何检查? 我一直在尝试WebAssembly,但开始遇到据我所知的版本控制问题,导致出现以下消息: 错误:Wasm.instanceemodule():Wasm解码失败Result=预期版本0c 00,找到0b 00@+4 或 错误:Wasm.instanceemodule():Wasm解码失败Result=预期版本0c 00,找到01 00@+4 除了对不支持给定文件的WebAssembly嵌入程序运行它来获取上述错误之外,我如何检查wasm文件的版本 编辑:根据

给定一个
.wasm
文件,如何检查?


我一直在尝试WebAssembly,但开始遇到据我所知的版本控制问题,导致出现以下消息:

错误:Wasm.instanceemodule():Wasm解码失败Result=预期版本0c 00,找到0b 00@+4

错误:Wasm.instanceemodule():Wasm解码失败Result=预期版本0c 00,找到01 00@+4

除了对不支持给定文件的WebAssembly嵌入程序运行它来获取上述错误之外,我如何检查wasm文件的版本



编辑:根据最近的发行说明,这是一个有时间限制的问题。

如果您有hexdump实用程序,您可以查看文件的4-7字节。例如,使用Linux hexdump实用程序:

$ hexdump -C -n8 examples_c/hello_sdl.wasm | head
00000000  00 61 73 6d 01 00 00 00                           |.asm....|
00000008
前四个字节是wasm幻数(0x0061736d或“\00asm”)。接下来的4个字节是版本(little endian)。所以在上面的例子中,版本是0x01,它是MVP(最小可行产品)

在某个时刻,我确信标准的linux
file
命令将识别WebAssembly文件并打印版本


完整格式如。

中所述。如果您有hexdump实用程序,则可以查看文件的4-7字节。例如,使用Linux hexdump实用程序:

$ hexdump -C -n8 examples_c/hello_sdl.wasm | head
00000000  00 61 73 6d 01 00 00 00                           |.asm....|
00000008
前四个字节是wasm幻数(0x0061736d或“\00asm”)。接下来的4个字节是版本(little endian)。所以在上面的例子中,版本是0x01,它是MVP(最小可行产品)

在某个时刻,我确信标准的linux
file
命令将识别WebAssembly文件并打印版本


完整格式如.

右侧所述,此问题仅在Wasm的预发行版本中出现。可能重复的@JFBastien不是重复的。这个问题想知道错误的原因以及如何修复它。这个问题想知道,“给定一个
wasm
文件,该文件的版本是什么?”@vossad01此时,获取生成或期望版本0x1以外的任何内容的生产者或消费者是一个bug。链接的问题回答了该错误的原因。@JFBastien从最新规范的角度来看,它是无投诉的,因此是一个错误;然而,我怀疑所有在其软件中提供MVP前WebAssembly支持的人,以及所有使用当时可用的工具撰写文章和指南的人都会同意他们的工作是“一个bug”。没错,这个问题只会出现在Wasm的预发布版本中。@JFBastien的可能重复而不是重复。这个问题想知道错误的原因以及如何修复它。这个问题想知道,“给定一个
wasm
文件,该文件的版本是什么?”@vossad01此时,获取生成或期望版本0x1以外的任何内容的生产者或消费者是一个bug。链接的问题回答了该错误的原因。@JFBastien从最新规范的角度来看,它是无投诉的,因此是一个错误;然而,我怀疑所有在其软件中提供MVP前WebAssembly支持的人,以及所有使用当时可用的工具撰写文章和指南的人都会同意他们的工作是“一个bug”。酷,我不知道我有这个命令。我有点期待需要拿出一种脚本语言来读取字节。酷,一个我不知道我有的命令。我有一半的期望需要拿出一种脚本语言来读取字节。