static void * alloc(u_int n, u_int align, int clear)
{
	extern char end[]; 	
	int i;
	u_long alloced_mem;
	if(freemem==0)
		freemem=(u_long)end;
	freemem = (((u_long)(freemem))+(align)-1)&~((align)-1);
	//Step 1 finished.
	alloced_mem = freemem;
	//Step 2 finished.
	freemem +=(((u_long)(n))+(align)-1)&~((align)-1);
	//Step 3 finished.
	if(clear == 1){
		for(i=alloced_mem;i<alloced_mem+n;i++)
			 *i = 0;
	}
	//Step 4 finished.
	return (void *)alloced_mem;
	//Step 5 finished.
}

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-01
  • 2022-01-01
  • 2022-01-01
  • 2022-01-01
  • 2021-06-22
  • 2021-08-25
猜你喜欢
  • 2021-06-07
  • 2022-12-23
  • 2021-10-02
  • 2021-11-10
  • 2022-01-01
  • 2021-05-28
相关资源
相似解决方案