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

📄 alc_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"/* メモリの充り碰て */VP kernel_alc_hep(		T_KERNEL_HEPCB *pk_hepcb,		SIZE           size){	T_KERNEL_HEPBLK *mblk;	T_KERNEL_HEPBLK *mblk_next;	T_KERNEL_HEPBLK *mblk_next2;		/* ヒ〖プの赂哼チェック */	if ( pk_hepcb->base == NULL )	{		return NULL;	}		/* サイズのアライメントを拇腊} */	size = KERNEL_HEP_ALIGNED(size);		/* 鄂き挝拌を浮瑚 */	mblk = pk_hepcb->base;	while ( mblk->size != 0 )	{		if ( mblk->flag == KERNEL_HEP_FREE && mblk->size >= size )		{			/* 浇尸な推翁があったら */			if ( mblk->size - size > KERNEL_HEP_BLKSIZE + KERNEL_HEP_MEMALIGN )			{				/* ブロックを尸充する */				mblk_next  = (T_KERNEL_HEPBLK *)((UB *)mblk + KERNEL_HEP_BLKSIZE + size);				mblk_next2 = (T_KERNEL_HEPBLK *)((UB *)mblk + KERNEL_HEP_BLKSIZE + mblk->size);				mblk_next->prev  = mblk;				mblk_next->size  = mblk->size - size - KERNEL_HEP_BLKSIZE;				mblk_next->flag  = KERNEL_HEP_FREE;				mblk_next2->prev = mblk_next;				mblk->size       = size;			}			mblk->flag = KERNEL_HEP_USING;						return (VP)((UB *)mblk + KERNEL_HEP_BLKSIZE);		}				/* 肌のブロックへ渴む */		mblk = (T_KERNEL_HEPBLK *)((UB *)mblk + mblk->size + KERNEL_HEP_BLKSIZE);	}	return NULL;	/* 鄂きが痰い */}/* ------------------------------------------------------------------------ *//*  Copyright (C) 1998-2006 by Project HOS                                  *//* ------------------------------------------------------------------------ */

⌨️ 快捷键说明

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