官术网_书友最值得收藏!

  • Learn WebAssembly
  • Mike Rourke
  • 288字
  • 2021-08-13 15:38:52

Definition and module overview

The binary format is defined as a dense linear encoding of the abstract syntax. Without getting too technical, that essentially means it's an efficient form of binary that allows for fast decoding, small file size, and reduced memory usage. The file representation of the binary format is a .wasm file, which will be the compilation output from Emscripten that we'll use for our examples.

The ValuesTypes, and Instructions subsections of the Core Specification for the binary format correlate directly to the Text Format section. Each of these concepts is covered in the context of encoding. For example, according to the specification, the Integer types are encoded using the LEB128 variable-length integer encoding, in either unsigned or signed variant. These are important details to know if you wish to develop tooling for WebAssembly, but not necessary if you just plan on using it on your website.

The Structure, Binary Format, and Text Format (wat) sections of the Core Specification have a Module subsection. We didn't cover aspects of the module in the previous section because it's more prudent to describe them in the context of a binary. The official WebAssembly site offers the following description for a module:

"The distributable, loadable, and executable unit of code in WebAssembly is called a module. At runtime, a module can be instantiated with a set of import values to produce an instance, which is an immutable tuple referencing all the state accessible to the running module."

We will discuss how to interact with the module using the JavaScript and Web APIs later in this chapter, so let's establish some context to understand how the module elements map to the API methods.

主站蜘蛛池模板: 万安县| 如皋市| 平阳县| 光泽县| 云龙县| 原阳县| 叶城县| 张掖市| 武夷山市| 东辽县| 四子王旗| 阿尔山市| 沙田区| 衡东县| 西乡县| 科尔| 顺昌县| 鹤壁市| 阿鲁科尔沁旗| 班戈县| 临澧县| 平舆县| 鄂尔多斯市| 凤城市| 潼关县| 邯郸市| 临泉县| 连城县| 彩票| 如东县| 山西省| 嘉义县| 茂名市| 丰原市| 桓台县| 闻喜县| 洪洞县| 宽甸| 五大连池市| 西乌珠穆沁旗| 澄江县|