, WASM. WASM , , . Emscripten JS-, WASM ( "" , Emscripten WASM).
Emscripten (JS ), .
, , :
WASM
- ( , ). / . , , . , , ..
print
. - print
- , . , ""? , - . : WASM print
- !
, , . - . "" . WASM - ! .
- ( "" ) / . , extern crate
Rust .cpp
++.
, WASM, . , .
? ! wasm-dis
(), wasm
: $ wasm-dis hello.wasm > hello.wast
. , :
(import "env" "DYNAMICTOP_PTR" (global $import$0 i32))
(import "env" "STACKTOP" (global $import$1 i32))
(import "env" "STACK_MAX" (global $import$2 i32))
(import "env" "abort" (func $import$3 (param i32)))
...
(58 more)
, wast
, , . , print
!
(, , (import "env" "print" ...)
. , : . Emscripten .)
WASM ( Emscripten)
WASM WebAssembly.instantiate()
. , importObject
. / , WASM, WebAssembly.LinkError
. .
WASM, hello.wasm
, 62 . , ? , : Emscripten JS-! WASM, Emscripten, JS-, Emscripten!
?
, , ( ). , , ( ), ? , .
, Rust, C ++, , , . . , syscall. Syscalls . (, ), (, ).
AFAIK, WASM ( , ).
Emscripten
WASM :
Emscripten 1 , Emscripten. ?
! , , - wasm32-unknown-unknown
Rust. LLVM WASM . WASM Emscripten. : JS- , , .
, hellorust.com. - .
ยน Emscripten WASM . asm.js, WASM.