diff --git a/packages/zig/README.md b/packages/zig/README.md new file mode 100644 index 000000000..66e38cf1b --- /dev/null +++ b/packages/zig/README.md @@ -0,0 +1,10 @@ +# zig testing ground + + + +```sh +# (re)compile add.zig +zig build-lib add.zig -target wasm32-freestanding -dynamic -rdynamic +# run server +npx http-server -o +``` diff --git a/packages/zig/add.wasm b/packages/zig/add.wasm new file mode 100755 index 000000000..ad6f38d4b Binary files /dev/null and b/packages/zig/add.wasm differ diff --git a/packages/zig/add.zig b/packages/zig/add.zig new file mode 100644 index 000000000..a04ec1544 --- /dev/null +++ b/packages/zig/add.zig @@ -0,0 +1,3 @@ +export fn add(a: i32, b: i32) i32 { + return a + b; +} diff --git a/packages/zig/index.html b/packages/zig/index.html new file mode 100644 index 000000000..0f3d67c36 --- /dev/null +++ b/packages/zig/index.html @@ -0,0 +1,10 @@ + + + + ZIG / WASM Demo + + +

check the console

+ + + diff --git a/packages/zig/main.js b/packages/zig/main.js new file mode 100644 index 000000000..7540c86c0 --- /dev/null +++ b/packages/zig/main.js @@ -0,0 +1,11 @@ +async function run() { + let res = await fetch('./add.wasm'); + res = await res.arrayBuffer(); + res = await WebAssembly.instantiate(res, { + env: {}, + }); + const { add } = res.instance.exports; + console.log(add(3, 5)); +} + +run();