0x40 字节的 Webassembly 含义?
Webassembly meaning of the 0x40 byte?
规范说 0x40 是:
a pseudo type for representing an empty block_type
现在我不完全确定他们的意思。即使我的块不为空,编译器也会在操作码 0x02 之后给我 0x40。
0x40 是否类似于 "void"?
是的,就像 void
。这个想法是,块可以 return 一个值(i32
、i64
、f32
、f64
目前),或者根本没有值。 language types, and block type 下列出的类型限制了它可以容纳的有效类型。这意味着指令可以使用块推送到执行堆栈的值,因此块在这个意义上类似于函数。您可能希望块 not 将值压入堆栈,因此 void
可能会有用。或者编译器可能不够聪明,无法使用 属性 块,而是在某些情况下使用局部变量。
最终将支持 multi-value,这将允许函数和块将多个值压入堆栈。
规范说 0x40 是:
a pseudo type for representing an empty block_type
现在我不完全确定他们的意思。即使我的块不为空,编译器也会在操作码 0x02 之后给我 0x40。
0x40 是否类似于 "void"?
是的,就像 void
。这个想法是,块可以 return 一个值(i32
、i64
、f32
、f64
目前),或者根本没有值。 language types, and block type 下列出的类型限制了它可以容纳的有效类型。这意味着指令可以使用块推送到执行堆栈的值,因此块在这个意义上类似于函数。您可能希望块 not 将值压入堆栈,因此 void
可能会有用。或者编译器可能不够聪明,无法使用 属性 块,而是在某些情况下使用局部变量。
最终将支持 multi-value,这将允许函数和块将多个值压入堆栈。