mvmemoryalloc.c

来自「优化过的xvid1.1.2源代码」· C语言 代码 · 共 57 行

C
57
字号
#include "MVGlobal.h"
#include "MVMemoryalloc.h"void *  xvid_malloc(size_t size,		        	uint8_t alignment){	uint8_t *mem_ptr;	if (!alignment)
	{		if ((mem_ptr = (uint8_t *) malloc(size + 1)) != NULL) 
		{			*mem_ptr = (uint8_t)1;			return ((void *)(mem_ptr+1));		}	} 
	else
	{		uint8_t *tmp;		if ((tmp = (uint8_t *) malloc(size + alignment)) != NULL) 
		{			mem_ptr = 	(uint8_t *) ((ptr_t) (tmp + alignment - 1) &					            	 (~(ptr_t) (alignment - 1)));			if (mem_ptr == tmp)				mem_ptr += alignment;			*(mem_ptr - 1) = (uint8_t) (mem_ptr - tmp);			return ((void *)mem_ptr);		}	}	return(NULL);}void xvid_free(void *mem_ptr)
{	uint8_t *ptr;	if (mem_ptr == NULL)		return;	ptr = mem_ptr;	ptr -= *(ptr - 1);	free(ptr);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?