๐Ÿ“ฆ yjhjstz / mempool

๐Ÿ“„ mp_test.c ยท 41 lines
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#include "mp_alloc.h"

int main(int argc, char *argv[]) {

    int size = 1 << 12;
    mp_pool_t *p = mp_create_pool(size);

    int i; 
    int j;

    for (i = 0; i < 50; i++) {
        mp_alloc(p, 256);
    }

    for (i = 0; i < 10; i++) {
        char *pp = mp_calloc(p, 32);
        for (j = 0; j < 32; j++) {
            if (pp[j]) {
                printf("calloc wrong\n");
            }
        }
    }

    for ( i = 0; i < 5; i++) {
        void * l =  mp_alloc(p, 8192);
        mp_free(p, l);
    }

    mp_reset_pool(p);

    for (i = 0; i < 58; i++) {
        mp_alloc(p, 256);
    }

    mp_destroy_pool(p);


    return 0;

}