diff options
Diffstat (limited to 'examples/hello_world_c_zig/src')
-rw-r--r-- | examples/hello_world_c_zig/src/foo.zig | 8 | ||||
-rw-r--r-- | examples/hello_world_c_zig/src/main.c | 14 |
2 files changed, 22 insertions, 0 deletions
diff --git a/examples/hello_world_c_zig/src/foo.zig b/examples/hello_world_c_zig/src/foo.zig new file mode 100644 index 0000000..464eadd --- /dev/null +++ b/examples/hello_world_c_zig/src/foo.zig @@ -0,0 +1,8 @@ +const warn = @import("std").debug.warn; + +extern fn baz() void; + +export fn foo() void { + warn("zig called from c!\n"); + baz(); +} diff --git a/examples/hello_world_c_zig/src/main.c b/examples/hello_world_c_zig/src/main.c new file mode 100644 index 0000000..aeaeae4 --- /dev/null +++ b/examples/hello_world_c_zig/src/main.c @@ -0,0 +1,14 @@ +#include <stdio.h> +#include <zig/src/foo.h> + +void baz() +{ + printf("c called from zig!\n"); +} + +int main(int argc, char **argv) +{ + printf("inside c\n"); + foo(); + return 0; +} |