DOKK / manpages / debian 12 / wabt / wasm2c.1.en
WABT(1) General Commands Manual WABT(1)

wasm2cconvert a WebAssembly binary file to a C source and header

wasm2c [options] file

wasm2c takes a WebAssembly module and produces an equivalent C source and header.

The options are as follows:

Print a help message
Print version information
, --verbose
Use multiple times for more info
, --output=FILENAME
Output file for the generated C source file, by default use stdout
, --module-name=MODNAME
Unique name for the module being generated. This name is prefixed to each of the generaed C symbols. By default, the module name from the names section is used. If that is not present the name of the input file is used as the default.
Enable Experimental exception handling
Disable Import/export mutable globals
Disable Saturating float-to-int operators
Disable Sign-extension operators
Disable SIMD support
Enable Threading support
Enable Typed function references
Disable Multi-value
Enable Tail-call support
Disable Bulk-memory operations
Disable Reference types (externref)
Enable Custom annotation syntax
Enable Code metadata
Enable Garbage collection
Enable 64-bit memory
Enable Multi-memory
Enable Extended constant expressions
Enable all features
Ignore debug names in the binary file

Parse binary file test.wasm and write test.c and test.h

$ wasm2c test.wasm -o test.c

Parse test.wasm, write test.c and test.h, but ignore the debug names, if any

$ wasm2c test.wasm --no-debug-names -o test.c

wasm-decompile(1), wasm-interp(1), wasm-objdump(1), wasm-opcodecnt(1), wasm-strip(1), wasm-validate(1), wasm2wat(1), wast2json(1), wat-desugar(1), wat2wasm(1), spectest-interp(1)

If you find a bug, please report it at
https://github.com/WebAssembly/wabt/issues.

June 19, 2024 Debian