1
0
SongZihuan 5 жил өмнө
parent
commit
030a1edf66
5 өөрчлөгдсөн 15 нэмэгдсэн , 9 устгасан
  1. 2 1
      .vscode/settings.json
  2. BIN
      gwarf
  3. 2 5
      inter/interpreter.h
  4. 9 2
      mem/mem.c
  5. 2 1
      mem/mem.h

+ 2 - 1
.vscode/settings.json

@@ -39,7 +39,8 @@
         "valarray": "c",
         "interpreter.h": "c",
         "cstring": "c",
-        "cstdlib": "c"
+        "cstdlib": "c",
+        "mem.h": "c"
     },
     "C_Cpp.errorSquiggles": "Disabled"
 }


+ 2 - 5
inter/interpreter.h

@@ -1,12 +1,9 @@
+#include "../mem/mem.h"
+
 #ifndef _INTERPRETER_H
 #define _INTERPRETER_H
 #define MAX_SIZE (1024)
 
-#define malloc(size) safe_malloc(size)
-#define free(p) p=safe_free(p)
-#define realloc(p,size) safe_realloc(p,size)
-#define memcpy(p1,p2,size) safe_memcpy(p1,p2,size)
-
 #define false 0
 #define true 1
 #define bool int

+ 9 - 2
mem/mem.c

@@ -1,6 +1,13 @@
-void *safe_malloc(size_t size){
+#undef malloc
+#undef calloc
+#undef free
+#undef realloc
+#undef memcpy
+
+
+void *safe_calloc(size_t size, size_t num){
     void *tmp;
-    tmp = calloc(size, 1);
+    tmp = calloc(size, num);
     if(tmp != NULL){
         return tmp;
     }

+ 2 - 1
mem/mem.h

@@ -1,4 +1,5 @@
-#define malloc(size) safe_malloc(size)
+#define malloc(size) safe_calloc(size, 1)
+#define calloc(size,n) safe_calloc(size, n)
 #define free(p) p=safe_free(p)
 #define realloc(p,size) safe_realloc(p,size)
 #define memcpy(p1,p2,size) safe_memcpy(p1,p2,size)