-
Notifications
You must be signed in to change notification settings - Fork 0
/
test.c
47 lines (43 loc) · 1.46 KB
/
test.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "mmbs.h"
#include <stdio.h>
int main(){
printf("Prosty interaktywny program testujacy:\n");
printf("1 - malloc\n2 - free\n3 - realloc\n4 - wypisz strony\n5 - wypisz drzewa stron\n0 - wyjdz\n\n");
printf("jest 100 wskaznikow (0-99)\n");
printf("polecenia {3,4,0} nalezy podac bez argumentow\n");
printf("komendy nalezy podac w kolejnosci:\n-polecenie (1-3)\n-wskaznik ktorego to ma dotyczyc (0-99)\n-argumenty funkcji gdzie zamiast wskaznika nalezy podac jego numer\ndla free nalezy nie podawac argumentow\n");
printf("\nnp. \tptr#3 = malloc( 10 ) to 1 3 10\n\tfree( ptr#0 ) to 2 0\n\tptr#99 = realloc( ptr#1, 64 ) to 3 99 1 64\n");
void* pointer[100];
mm_startup();
putchar('\n');
int command=1, ptr, arg0, arg1, j;
while(command!=0){
scanf("%d",&command);
switch(command){
case 0:
break;
case 1:
scanf("%d %d",&ptr,&arg0);
pointer[ptr] = m_malloc(arg0);
break;
case 2:
scanf("%d",&ptr);
m_free(pointer[ptr]);
break;
case 3:
scanf("%d %d %d",&ptr,&arg0,&arg1);
pointer[ptr] = m_realloc(pointer[arg0],arg1);
break;
case 4:
j=0;
while(mm_print_tree(j++)) putchar('\n');
break;
case 5:
j=0;
while(mm_print_tree_bin(j++)) putchar('\n');
break;
}
}
putchar('\n');
return 0;
}