No, non sto cercando nulla nel grano 🙂 anche perché dubito che all'interno del grano troverei l'ispirazione di WebAssembly, qualcosa di cui parleremo più avanti. Un linguaggio incomprensibile per tradurre classico codice web (JavaScript ecc) in qualcosa di molto più efficiente, direttamente vicino al linguaggio macchina. Un programma che dica "Hello DlEGO" diventa però molto complicato da leggere... (eccolo nel seguito). Ma guadagniamo qualche millisecondo nell'esecuzione, quindi lo accettiamo. Parleremo più avanti di WebAssembly, devo ancora comprendere al meglio alcune cose 😉
(module
;; Imports from JavaScript namespace
(import "console" "log" (func $log (param i32 i32))) ;; Import log function
(import "js" "mem" (memory 1)) ;; Import 1 page of memory (54kb)
;; Data section of our module
(data (i32.const 0) "Hello DIEGO from WebAssembly!")
;; Function declaration: Exported as helloDlEGO(), no arguments
(func (export "helloDlEGO")
i32.const 0 ;; pass offset 0 to log
i32.const 29 ;; pass length 29 to log (strlen of sample text)
call $log
)
)
Nuova discussione: Emscripten e WebAssembly: eseguire codice C/C++ in una pagina web