diff options
Diffstat (limited to 'tests/projects/zig/c_interop/src')
| -rw-r--r-- | tests/projects/zig/c_interop/src/main.zig | 11 | ||||
| -rw-r--r-- | tests/projects/zig/c_interop/src/native/mathlib.c | 9 | ||||
| -rw-r--r-- | tests/projects/zig/c_interop/src/native/mathlib.h | 7 |
3 files changed, 27 insertions, 0 deletions
diff --git a/tests/projects/zig/c_interop/src/main.zig b/tests/projects/zig/c_interop/src/main.zig new file mode 100644 index 000000000..6cd61100d --- /dev/null +++ b/tests/projects/zig/c_interop/src/main.zig @@ -0,0 +1,11 @@ +const std = @import("std"); +const c = @cImport({ + @cInclude("mathlib.h"); +}); + +pub fn main() void { + const sum = c.c_add(3, 4); + const product = c.c_multiply(5, 6); + std.debug.print("c_add(3,4)={d}\n", .{sum}); + std.debug.print("c_multiply(5,6)={d}\n", .{product}); +} diff --git a/tests/projects/zig/c_interop/src/native/mathlib.c b/tests/projects/zig/c_interop/src/native/mathlib.c new file mode 100644 index 000000000..8728d1df3 --- /dev/null +++ b/tests/projects/zig/c_interop/src/native/mathlib.c @@ -0,0 +1,9 @@ +#include "mathlib.h" + +int c_add(int a, int b) { + return a + b; +} + +int c_multiply(int a, int b) { + return a * b; +} diff --git a/tests/projects/zig/c_interop/src/native/mathlib.h b/tests/projects/zig/c_interop/src/native/mathlib.h new file mode 100644 index 000000000..78dcbc931 --- /dev/null +++ b/tests/projects/zig/c_interop/src/native/mathlib.h @@ -0,0 +1,7 @@ +#ifndef MATHLIB_H +#define MATHLIB_H + +int c_add(int a, int b); +int c_multiply(int a, int b); + +#endif |
