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