In order to automatically generate diagrams for my site that's built with Node, I compiled Graphviz to WebAssembly. Here's my experience.
In order to reuse C libraries in WebAssembly, here is how object files, libraries, and linking work with Clang and LLVM.
Here's an example of passing strings to and from a WebAssembly module that is written in C and compiled with Clang and LLVM.
In the interest of compiling C code to WebAssembly, here's an example of using the C standard library.
This is a complete example of building and running a trivial WebAssembly module.
WebAssembly makes web browsers a compilation target for languages like C. Here's a brief overview of WebAssembly.