wasm2c - Man Page

convert a WebAssembly binary file to a C source and header

Examples (TL;DR)

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).

February 3, 2024