This repo is extending the great work from Ben Smith published in his CppCon 2019 WebAssembly talk. The WebAssembly binaries are copied from Ben's fork of llvm-project.
# NPM
npm install clang.js
# Yarn
yarn add clang.js
import { init, run } from 'clang.js';
async function main() {
await init({
// The path to the wasm resources:
// - clang.wasm
// - lld.wasm
// - memfs.wasm
// - sysroot.tar
path: 'https://cdn.jsdelivr.net/npm/clang.js/dist',
});
const code = `
#include <iostream>
using namespace std;
int fib(int n) {
if (n < 2) return n;
return fib(n-1) + fib(n-2);
}
int main() {
cout << "fib(10) = " << fib(10) << endl;
}`;
run(code);
}
main();
- Support for multiple code files
- Support operation WebGL
Apache-2.0