wasm2c - Man Page
convert a WebAssembly binary file to a C source and header
Examples (TL;DR)
Convert a file to a C source file and header and display it to the console:
wasm2c file.wasm
Write the output to a given file (
file.h
gets additionally generated):wasm2c file.wasm -o file.c
Synopsis
wasm2c | [options] file |
Description
wasm2c takes a WebAssembly module and produces an equivalent C source and header.
The options are as follows:
- --help
Print a help message
- --version
Print version information
- -v, --verbose
Use multiple times for more info
- -o, --output=FILENAME
Output file for the generated C source file, by default use stdout
- -n, --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-exceptions
Enable Experimental exception handling
- --disable-mutable-globals
Disable Import/export mutable globals
- --disable-saturating-float-to-int
Disable Saturating float-to-int operators
- --disable-sign-extension
Disable Sign-extension operators
- --disable-simd
Disable SIMD support
- --enable-threads
Enable Threading support
- --enable-function-references
Enable Typed function references
- --disable-multi-value
Disable Multi-value
- --enable-tail-call
Enable Tail-call support
- --disable-bulk-memory
Disable Bulk-memory operations
- --disable-reference-types
Disable Reference types (externref)
- --enable-annotations
Enable Custom annotation syntax
- --enable-code-metadata
Enable Code metadata
- --enable-gc
Enable Garbage collection
- --enable-memory64
Enable 64-bit memory
- --enable-multi-memory
Enable Multi-memory
- --enable-extended-const
Enable Extended constant expressions
- --enable-all
Enable all features
- --no-debug-names
Ignore debug names in the binary file
Examples
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
See Also
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)
Bugs
If you find a bug, please report it at
https://github.com/WebAssembly/wabt/issues.
Referenced By
spectest-interp(1), wasm2wat(1), wasm-decompile(1), wasm-interp(1), wasm-objdump(1), wasm-opcodecnt(1), wasm-strip(1), wasm-validate(1), wast2json(1), wat2wasm(1), wat-desugar(1).