typestar

La función start en WebAssembly

Inicialización que corre antes de que un export pueda llamarse.

(module
  ;; The start function runs once at instantiation, before any
  ;; export can be called -- initialization without a host contract.
  (global $seeded (mut i32) (i32.const 0))
  (memory 1)

  (func $init
    (i32.store (i32.const 0) (i32.const 1408))
    (global.set $seeded (i32.const 1)))
  (start $init)

  (func (export "elevation") (result i32)
    (i32.load (i32.const 0)))
  (func (export "ready") (result i32)
    (global.get $seeded)))

Cómo funciona

  1. (start $init) nomina una función para correr al instanciar.
  2. Siembra la memoria y prende una bandera (mut i32).
  3. Para cuando el host llama elevation, el store ya ocurrió.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
15
Caracteres a escribir
419
Tokens
85
Ritmo de tres estrellas
65 tpm

Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 78 segundos.

Escribe este fragmento

Paso 2 de 3 en Globales y arranque; paso 21 de 28 en Fundamentos del lenguaje.

← Anterior Siguiente →