diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2024-09-14 22:28:47 +0200 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2024-09-14 22:28:47 +0200 |
| commit | 8437bd12a54c6fe62c92b9a27fef03a5ec2a35cf (patch) | |
| tree | 0934a84cbe4a9464ff762bf239845a9eb1260f29 | |
| parent | 134f855b537b714eb98bc1e6e1e4790b4d6491a3 (diff) | |
| download | probe-8437bd12a54c6fe62c92b9a27fef03a5ec2a35cf.tar.gz | |
Added basic Zig and C interoperability example
| -rw-r--r-- | shell.nix | 2 | ||||
| -rw-r--r-- | zig-c-interop/Makefile | 2 | ||||
| -rw-r--r-- | zig-c-interop/billy.c | 3 | ||||
| -rw-r--r-- | zig-c-interop/billy.h | 1 | ||||
| -rw-r--r-- | zig-c-interop/main.zig | 9 |
5 files changed, 17 insertions, 0 deletions
@@ -5,5 +5,7 @@ gnumake nasm tinycc + zig + zls ]; } diff --git a/zig-c-interop/Makefile b/zig-c-interop/Makefile new file mode 100644 index 0000000..b0e2753 --- /dev/null +++ b/zig-c-interop/Makefile @@ -0,0 +1,2 @@ +default: + zig run -I. main.zig diff --git a/zig-c-interop/billy.c b/zig-c-interop/billy.c new file mode 100644 index 0000000..9544156 --- /dev/null +++ b/zig-c-interop/billy.c @@ -0,0 +1,3 @@ +#include "billy.h" + +int sum(int a, int b) { return a + b; }; diff --git a/zig-c-interop/billy.h b/zig-c-interop/billy.h new file mode 100644 index 0000000..6142d6c --- /dev/null +++ b/zig-c-interop/billy.h @@ -0,0 +1 @@ +int sum(int a, int b); diff --git a/zig-c-interop/main.zig b/zig-c-interop/main.zig new file mode 100644 index 0000000..8d16cd1 --- /dev/null +++ b/zig-c-interop/main.zig @@ -0,0 +1,9 @@ +const print = @import("std").debug.print; + +const billy = @cImport({ + @cInclude("billy.c"); +}); + +pub fn main() void { + print("Billy says 2+4={d}\n", .{billy.sum(2, 4)}); +} |
