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
(start $init)nomina una función para correr al instanciar.- Siembra la memoria y prende una bandera (mut i32).
- Para cuando el host llama
elevation, el store ya ocurrió.
Palabras clave y builtins usados aquí
exportfuncglobali32memorymodulemutresultstart
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.
Paso 2 de 3 en Globales y arranque; paso 21 de 28 en Fundamentos del lenguaje.