Environment setup
To compile this demo, you must install the following:
Zig
Go to ziglang.org and follow the instructions.
Wasmtime
You will find wasmtime at wasmtime.dev
Zig Code
we would create a simple Zig program that calculates caculates the fibonacci sequence of an integer input.
create a folder with a name of your choice, i would be using "Zig-to-WASI" as the name of my folder.
create a file main.zig
, add following code into your main.zig file and save the file.
const std = @import("std");
fn fibonacci(index: u32) u32 {
if (index < 2) return index;
return fibonacci(index - 1) + fibonacci(index - 2);
}
pub fn main() !void {
const stdout = std.io.getStdOut().writer();
var x: u32 = 7;
try stdout.print("fibonacci of {d} ", .{x});
try stdout.print("is: {d} \n ", .{fibonacci(x)} );
}
Compiling Zig code
Compile using zig
zig run main.zig
compile to WASM using the following command:
zig build-exe main.zig -target wasm32-wasi
The wasm file would be created in same folder
file main.wasm
wasm runtime
wasmtime main.wasm
Top comments (0)