.Dd $Mdocdate$ .Dt WABT 1 .Os .Sh NAME .Nm wasm2c .Nd convert a WebAssembly binary file to a C source and header .Sh SYNOPSIS .Nm wasm2c .Op options .Ar file .Sh DESCRIPTION .Nm takes a WebAssembly module and produces an equivalent C source and header. .Pp The options are as follows: .Bl -tag -width Ds .It Fl Fl help Print a help message .It Fl Fl version Print version information .It Fl v , Fl Fl verbose Use multiple times for more info .It Fl o , Fl Fl output=FILENAME Output file for the generated C source file, by default use stdout .It Fl n , Fl Fl 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. .It Fl Fl enable-exceptions Enable Experimental exception handling .It Fl Fl disable-mutable-globals Disable Import/export mutable globals .It Fl Fl disable-saturating-float-to-int Disable Saturating float-to-int operators .It Fl Fl disable-sign-extension Disable Sign-extension operators .It Fl Fl disable-simd Disable SIMD support .It Fl Fl enable-threads Enable Threading support .It Fl Fl enable-function-references Enable Typed function references .It Fl Fl disable-multi-value Disable Multi-value .It Fl Fl enable-tail-call Enable Tail-call support .It Fl Fl disable-bulk-memory Disable Bulk-memory operations .It Fl Fl disable-reference-types Disable Reference types (externref) .It Fl Fl enable-annotations Enable Custom annotation syntax .It Fl Fl enable-code-metadata Enable Code metadata .It Fl Fl enable-gc Enable Garbage collection .It Fl Fl enable-memory64 Enable 64-bit memory .It Fl Fl enable-multi-memory Enable Multi-memory .It Fl Fl enable-extended-const Enable Extended constant expressions .It Fl Fl enable-all Enable all features .It Fl Fl no-debug-names Ignore debug names in the binary file .El .Sh EXAMPLES Parse binary file test.wasm and write test.c and test.h .Pp .Dl $ wasm2c test.wasm -o test.c .Pp Parse test.wasm, write test.c and test.h, but ignore the debug names, if any .Pp .Dl $ wasm2c test.wasm --no-debug-names -o test.c .Sh SEE ALSO .Xr wasm-decompile 1 , .Xr wasm-interp 1 , .Xr wasm-objdump 1 , .Xr wasm-opcodecnt 1 , .Xr wasm-strip 1 , .Xr wasm-validate 1 , .Xr wasm2wat 1 , .Xr wast2json 1 , .Xr wat-desugar 1 , .Xr wat2wasm 1 , .Xr spectest-interp 1 .Sh BUGS If you find a bug, please report it at .br .Lk https://github.com/WebAssembly/wabt/issues .