⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fre_hep.c

📁 iTRON4.0最新操作系统
💻 C
字号:
/* ------------------------------------------------------------------------ *//*  Hyper Operating System V4  μITRON4.0慌屯 Real-Time OS                  *//*    カ〖ネル メモリ瓷妄                                                   *//*                                                                          *//*                                  Copyright (C) 1998-2006 by Project HOS  *//*                                  http://sourceforge.jp/projects/hos/     *//* ------------------------------------------------------------------------ */#include "knl_hep.h"/** メモリの豺庶 */void kernel_fre_hep(		T_KERNEL_HEPCB *pk_hepcb,		VP             ptr){	T_KERNEL_HEPBLK *mblk;	T_KERNEL_HEPBLK *mblktmp;	T_KERNEL_HEPBLK *mblknext;	/* %jp{ポインタ认跋チェック */	if ( ptr < (VP)pk_hepcb->base || ptr >= (VP)((UB*)pk_hepcb->base + pk_hepcb->heapsz) )	{		return;	}	/* %jp{メモリブロック疤弥を艰评 */	mblk = (T_KERNEL_HEPBLK *)((UB *)ptr - KERNEL_HEP_BLKSIZE);	/* %jp{パラメ〖タ〖チェック */	if ( mblk->flag != KERNEL_HEP_USING )	/* %jp{蝗脱面で痰ければ */	{		return;	}	/* %jp{フラグを踏蝗脱に肋年} */	mblk->flag = KERNEL_HEP_FREE;		/* %jp{肌のブロックをチェック} */	mblktmp = (T_KERNEL_HEPBLK *)((UB *)ptr + mblk->size);	if ( mblktmp->flag == KERNEL_HEP_FREE )	{		/* %jp{肌のブロックが踏蝗脱なら冯圭する} */		mblknext = (T_KERNEL_HEPBLK *)((UB *)mblktmp + mblktmp->size + KERNEL_HEP_BLKSIZE);		mblknext->prev = mblk;		mblk->size += mblktmp->size + KERNEL_HEP_BLKSIZE;	}	/* %jp{涟のブロックをチェック} */	if ( mblk->prev != NULL )	{		mblktmp = mblk->prev;		if ( mblktmp->flag == KERNEL_HEP_FREE )		{			/* %jp{涟のブロックが踏蝗脱なら冯圭する} */			mblknext = (T_KERNEL_HEPBLK *)((UB *)mblk + mblk->size + KERNEL_HEP_BLKSIZE);			mblknext->prev = mblktmp;			mblktmp->size += mblk->size + KERNEL_HEP_BLKSIZE;		}	}}/* ------------------------------------------------------------------------ *//*  Copyright (C) 1998-2006 by Project HOS                                  *//* ------------------------------------------------------------------------ */

⌨️ 快捷键说明

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