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 + -
显示快捷键?