每个部分末尾的Webassembly fixup部分大小?

时间:2017-12-28 20:32:38

标签: webassembly

当编译wat到wasm时,emscripten为每个部分提供了FIXUP大小。在规范中,它永远不会声明在原始字节码中我们必须在每个部分的末尾包括节大小。我有点困惑。让我们说省略FIXUP或它背后的原因是否安全?截面代码后的截面尺寸为0.我的意思是在读取截面之前你不知道尺寸吗?没有意义或没有?我觉得应该颠倒两个部分尺寸的顺序。

会欣赏一些见解。

 <script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/three.min.js?v=v3.2"></script>
<script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/viewer3D.js?v=v3.2"></script>
<script src="https://mamboleoo.be/learnThree/demos/OBJLoader.js"></script>

1 个答案:

答案 0 :(得分:1)

注意左边的字节偏移:标记为FIXUP的所有行都指向先前写为0并标记为“猜测”的字节位置。

与其他Wasm生成器一样,Emscripten在一次传递中生成二进制文件,这意味着它必须在生成它们时才知道区段大小。因此,一旦相应的部分完成且其大小已知,它就会写入00并对其进行补贴。

相关问题