📄 tkminit.c
字号:
/* *---------------------------------------------------------------------- * T-Kernel * * Copyright (C) 2004 by Ken Sakamura. All rights reserved. * T-Kernel is distributed under the T-License. *---------------------------------------------------------------------- * * Version: 1.01.00 * Released by T-Engine Forum(http://www.t-engine.org) at 2004/6/28. * *---------------------------------------------------------------------- *//* * @(#)tkminit.c (libtk) * * Memory allocation library * T-Kernel initialization sequence * * _tkm_init is always linked as it is called from the startup * sequence part. * Note that adding too many processing can make the program * size quite large, irrespective of whether malloc is required * or not. */#include <basic.h>#include <tk/tkernel.h>#include <sys/memalloc.h>/* * Memory allocation */LOCAL VP getblk( INT nblk, UINT mematr ){ VP ptr; ER err; err = tk_get_smb(&ptr, nblk, mematr); if ( err < E_OK ) return NULL; return ptr;}/* * Memory release */LOCAL void relblk( VP ptr ){ tk_rel_smb(ptr);}/* * MACB initialization */EXPORT ER _tkm_init( UINT mematr, MACB *_macb ){ MACB *macb = AlignMACB(_macb); T_RSMB rsmb; ER err; /* Initialize memory allocation management information */ macb->pagesz = 0; /* 0 indicates not available for use*/ macb->mematr = mematr; macb->testmode = 0; macb->getblk = getblk; macb->relblk = relblk; QueInit(&macb->areaque); QueInit(&macb->freeque); /* Get memory information */ err = tk_ref_smb(&rsmb); if ( err < E_OK ) return err; macb->pagesz = rsmb.blksz; return E_OK;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -