📄 test.c
字号:
#include <stdio.h>#include <strings.h>#include <stdlib.h>#include <unistd.h>#include <mymem.h>#include <sys/time.h>#include <sys/resource.h>#include <sys/types.h>#include <time.h>#include <os.h>typedef struct TESTTYPE TT;struct TESTTYPE { int i; int j; char *k;};PROCESS memadd2(){ int counter; TT **toMalloc; toMalloc=malloc(sizeof(TT)*20); if (toMalloc==NULL) { printf("memory allocation error.\n"); Pexit(); } for (counter=0;counter<20;counter++){ toMalloc[counter]=MyMalloc((size_t) 500); MyMemStats(); Sleep(0); } for (counter=0;counter<20;counter++){ MyFree(toMalloc[counter]); MyMemStats(); Sleep(0); } printf("done memadd2\n"); Pexit();}PROCESS memadd1(){ int counter; TT **toMalloc; toMalloc=malloc(sizeof(TT)*40); if (toMalloc==NULL) { printf("memory allocation error 2.\n"); Pexit(); } toMalloc[0]=MyMalloc((size_t) 10000); MyMemStats(); Sleep(0); toMalloc[1]=MyMalloc((size_t) 9999); MyMemStats(); Sleep(0); toMalloc[2]=MyMalloc((size_t) 500); MyMemStats(); Sleep(0); toMalloc[3]=MyMalloc((size_t) 0); MyMemStats(); Sleep(0); MyFree(toMalloc[1]); MyMemStats(); Sleep(0); MyFree(toMalloc[2]); MyMemStats(); Sleep(0); MyFree(toMalloc[3]); MyMemStats(); Sleep(0); for (counter=0;counter<=20;counter++){ toMalloc[counter]=MyMalloc((size_t) 500); MyMemStats(); Sleep(0); } MyFree(toMalloc[20]); MyMemStats(); Sleep(0); MyFree(toMalloc[2]); MyMemStats(); Sleep(0); MyFree(toMalloc[12]); MyMemStats(); Sleep(0); MyFree(toMalloc[9]); MyMemStats(); Sleep(0); MyFree(toMalloc[1]); MyMemStats(); Sleep(0); MyFree(toMalloc[3]); MyMemStats(); Sleep(0); MyFree(toMalloc[5]); MyMemStats(); Sleep(0); MyFree(toMalloc[4]); MyMemStats(); for (counter=0;counter<=20;counter++) { MyFree(toMalloc[counter]); MyMemStats(); Sleep(0); } printf("done memadd1\n"); Pexit();} mainp(int argc, char *argv[]) { PID toCheck; toCheck=Create((void(*)()) memadd1, 16000, "memfuncs", NULL, NORM, USR); if (toCheck == PNUL) { printf("There was a problem creating the thread.\n"); exit(1); } toCheck=Create((void(*)()) memadd2, 1600000, "memfunc2",NULL, NORM, USR); if (toCheck==PNUL) { printf("There was a problem creating the thread.\n"); exit(1); } printf("\ncreated successfully.\n"); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -