示例#1
0
void test1(void) {
    int i;
    assert(MAX >= 100);
    InitFMem(BasicAlloc, BasicFree, NULL, NULL);
    memset(a, 0, sizeof(a));
    FAlloc(0);
    FFree(0);
    for (i = 0; i < MAX-50; i++) {
        AddElem(i, rand() % 50 + 1);
    }
    for (i = MAX-50; i < MAX; i++) {
        AddElem(i, rand() % 10 + 253);
    }

    for (i = 0; i < MAX; i++) {
        FreeElem(i);
    }

    for (i = 0; i < 10000; i++) {
        if (rand() % 2 && numInA < MAX) {
            AddRandElem(rand() % 20 + 1);
        } else if (numInA > 0) {
            FreeRandElem();
        }
    }
    FreeAllElems();
    AddRandElem(20);
    AddRandElem(40);
    AddRandElem(255);
    AddRandElem(256);
    FiniFMem(FMEM_CHECK);
    assert(g_memUsed == 0);
    printf("Test 1 -- Success.\n");
    printMemStats();
}
示例#2
0
int main() {

	struct linked_list *list; 
	struct list_data* entry;
	int i;

	list = getNewList();

	// Making list entries.
	for (i=1; i < 100; i++) {
		entry = (struct list_data*)allocMem(sizeof(struct list_data));
		sprintf(entry->blah,"This is entry %d!\n",i);
		printf( "Before pushListEntry\n");
		pushListEntry(entry,list);
	}

	// Get one item

	entry = (struct list_data *) getListEntry(10,list);
	printf("FETCHED 10 --> %s \n",entry->blah);

	//Iterate
	iterateListCallback(callback,list);

	// Now dumping them.. (disabled for free test)
	/*
	while((entry = (struct list_data*) popListEntry( list ) )) {
		if(entry == NULL || list->stop == NULL) {
			break;
		}
		printf("DATA --> %s \n",entry->blah);
	}
	*/

	freeList(list,1);
	printMemStats();

	// Add some new lists..
	//list = getNewList();
	//list = getNewList();

	printf( "Done !\n" );
	return 0;
}
示例#3
0
int main() {

	struct linked_list *list; 
	struct list_data* entry;
	int i;

	list = getNewList();

	initializeSorter(NULL, list, 1);

	for (i=0; i < 15; i++) {
		entry = (struct list_data*)allocMem(sizeof(struct list_data));
		pushListEntry(entry,list);
	}

	// Get one item a few times..
	entry = (struct list_data *) getListEntry(10,list);
	entry = (struct list_data *) getListEntry(10,list);
	entry = (struct list_data *) getListEntry(10,list);
	entry = (struct list_data *) getListEntry(12,list);
	entry = (struct list_data *) getListEntry(12,list);

	printf("List order before sort..\n");
	iterateListCallback(callback,list);

	printf("Waiting for sort to kick in.. \n");
	sleep(6);
	printf("List order after sort\n");
	iterateListCallback(callback,list);

	freeList(list,1);
	printMemStats();

	printf( "Done !\n" );
	return 0;
}