diff options
Diffstat (limited to 'code')
-rw-r--r-- | code/lib/memory.felan | 4 | ||||
-rw-r--r-- | code/main.felan | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/code/lib/memory.felan b/code/lib/memory.felan index adb9cf2..f1f9898 100644 --- a/code/lib/memory.felan +++ b/code/lib/memory.felan @@ -5,3 +5,7 @@ free :: @c_function(libc,"free",(*void)->void); malloc :: (size:i64,comptime t:type) -> (*t) { return @cast(malloc(size*@cast(@size_of(t),i64)),*t); }; + +free :: (a:*anytype) -> void { + free(@cast(a,*void)); +}; diff --git a/code/main.felan b/code/main.felan index 5b0c634..b1a55b9 100644 --- a/code/main.felan +++ b/code/main.felan @@ -1,5 +1,5 @@ // @import("basic.felan"); -// @import("lib/memory.felan"); +@import("lib/memory.felan"); @import("lib/operator.felan"); print :: (value:**anytype)->void{ @@ -11,11 +11,12 @@ print :: (value:**anytype)->void{ }; main :: () -> void { - a := @stack_alloc(10,u8); + a := malloc(10,u8); a[0] = '1'; b := &a[2]; b.* = '9'; @putc(a[0]); @putc(b.*); + free(a); }; |