Ejemplo n.º 1
0
int main(int argc, char ** argv) {
	int opterr = 0;
    unsigned int _basic_block_size =  128;
    unsigned int _length  = 524288; 
    
    int c;
   
   	while( (c = getopt(argc, argv, "b:s:") ) != -1) {
    	switch(c) {
			case 'b':
				_basic_block_size = atoi(optarg);
				break;
			case 's':
				_length = atoi(optarg)*1024;
				break;
			case '?':
				break;
			default:
				abort();
		}
    }   
  
  	init_allocator(_basic_block_size, _length);
	ackerman_main();
	release_allocator();
}
Ejemplo n.º 2
0
int main(){

    int * begin;
    int * go;
    int * go2;
    int * go3;
    init_allocator(128,19000);
    begin = my_malloc(300);
    printf("\n");
    go = my_malloc(300);
    printf("\n");

    go2 = my_malloc(300);
    printf("\n");

    go3 = my_malloc(300);
    printf("memeory allocated\n");
    my_free(begin);
    my_free(go);
    my_free(go2);
    my_free(go3);
    release_allocator();
    return 0;
}
Ejemplo n.º 3
0
int main(int argc, char ** argv) {

	unsigned long long b, M = 0;
	int opt;
	//char input[256];
	while((opt = getopt(argc, argv, "b::s::")) != -1){
		
		switch (opt){
			case 'b':{
				if(argv[2]) b = atoi(argv[2]);
				else b=32;
				//printf("b: %s \n",argv[2]);
				break;
			}
			case 's':{
				if(argv[4]) M = atoi(argv[4]);
				else M = 128*1024*1024;
				//printf("M: %s \n",argv[4]);
				break;
			}
			default:{
				fprintf(stderr, "Usage: %s [-b blocksize] [-s] memsize\n",argv[0]);
				exit(EXIT_FAILURE);
			}
		}
		
	}
	if (b == 0 || M == 0 ){
		b = 32;
		M = 128*1024*1024;
	}
	printf("using values:\nb: %d \nM: %d \n",b,M);
	
	// init_allocator(basic block size, memory length)
	init_allocator(b,M);
	
	//init_allocator(32,128*1024*1024);
	
  
	
	ackerman_main();
	
	//	my_allocator DEMO
  /* 
	init_allocator(32,256*32);
	PrintList();
	cout<<endl;
	PrintList2();
	cout<<endl;
	int* block1 = (int*) my_malloc(64);//allocates 128 block
	int* block2 = (int*) my_malloc(12);//allocates 32 block
	int* block3 = (int*) my_malloc(12);//allocates 32 block
	int* block4 = (int*) my_malloc(32);//allocates 64 block
	cout<<"PRINTING AFTER ALLOCATING BLOCKS"<<endl;
	PrintList();
	cout<<endl;
	PrintList2();
	
	my_free(block1);
	my_free(block2);
	my_free(block3);
	my_free(block4);
	cout<<endl<<"PRINTING AFTER FREEING BLOCKS"<<endl;
	PrintList();
	cout<<endl;
	PrintList2();
	 */
	//atexit(release_allocator());
  release_allocator();
}