Hvorfor konvertere WASM til WAT?
WAT er den menneskeligt læsbare tekstform af WebAssembly. Folk konverterer en .wasm til .wat for at læse, revidere eller fejlfinde, hvad et modul faktisk gør - dets funktioner, imports og exports - da selve binærfilen er ulæselig.
Sådan konverterer du WASM til WAT
wasm-tools print OPEN-SOURCE
Fra Bytecode Alliance-værktøjssættet, kør wasm-tools print module.wasm -o module.wat for at skrive tekstformatet. Udelad -o for at udskrive til stdout.
wasm2wat (WABT) OPEN-SOURCE
Brug WebAssembly Binary Toolkit, kør wasm2wat module.wasm -o module.wat. Tilføj --generate-names for læsbare funktionsmærkater og -f for at folde udtryk.
Om disse formater
En .wasm-fil indeholder et kompileret WebAssembly-modul: portabel binær bytecode produceret fra sprog som C, C++ eller Rust, der kører med næsten indfødt (native) hastighed. De fleste…
Åbn .WASM detaljer →En .WAT-fil er knyttet til IBM Voice Type Languages Map, en misc-fil.
Åbn .WAT detaljer →Kvalitet & hvad man skal være opmærksom på
- Konverteringen er tro mod kilden, men er ikke den originale kildekode: du ser WASM-instruktioner på lavt niveau, ikke den C/C++/Rust, det blev kompileret fra.
- Unavngivne funktioner vises som numeriske indeks, medmindre du sender et navnegenererende flag, hvilket gør store moduler svære at følge.
- Redigering af WAT og gen-assemblering med wat2wasm er muligt, men nemt at gøre forkert for alt, der ikke er trivielt.
Ofte stillede spørgsmål
Er wasm-to-wat tabsfri?
wasm-tools eller wabt - hvad skal jeg bruge?
Kan jeg konvertere WAT tilbage til .wasm?
wat2wasm module.wat -o module.wasm (WABT) gen-assembler det til binærfilen.Hvordan får jeg læsbare funktionsnavne?
--generate-names til wasm2wat, eller behold navnesektionen i den originale build.