free.c

来自「一组基础的C库的实现」· C语言 代码 · 共 53 行

C
53
字号
/* $Id: free.c 262 2006-11-16 07:34:57Z solar $ *//* Release $Name$ *//* void free( void * )   This file is part of the Public Domain C Library (PDCLib).   Permission is granted to use, modify, and / or redistribute at will.*/#include <stdlib.h>#ifndef REGTEST#ifndef _PDCLIB_INT_H#define _PDCLIB_INT_H _PDCLIB_INT_H#include <_PDCLIB_int.h>#endif/* TODO: Primitive placeholder. Much room for improvement. *//* structure holding first and last element of free node list */extern struct _PDCLIB_headnode_t _PDCLIB_memlist;void free( void * ptr ){    ptr = (void *)( (char *)ptr - sizeof( struct _PDCLIB_memnode_t ) );    ( (struct _PDCLIB_memnode_t *)ptr )->next = NULL;    if ( _PDCLIB_memlist.last != NULL )    {        _PDCLIB_memlist.last->next = ptr;    }    else    {        _PDCLIB_memlist.first = ptr;    }    _PDCLIB_memlist.last = ptr;}#endif#ifdef TEST#include <_PDCLIB_test.h>int main(){    BEGIN_TESTS;    /* tests covered in malloc test driver */    return TEST_RESULTS;}#endif

⌨️ 快捷键说明

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