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

📄 memset.c

📁 T-kernel 的extension源代码
💻 C
字号:
/* *---------------------------------------------------------------------- *    T-Kernel / Standard Extension * *    Copyright (C) 2006 by Ken Sakamura. All rights reserved. *    T-Kernel / Standard Extension is distributed  *      under the T-License for T-Kernel / Standard Extension. *---------------------------------------------------------------------- * *    Version:   1.00.00 *    Released by T-Engine Forum(http://www.t-engine.org) at 2006/8/11. * *---------------------------------------------------------------------- *//* *	@(#)memset.c  * */#include <basic.h>#include <string.h>#define BOUND_4B_MSK	0x00000003		/* mask for boundary */void	*memset(void *mem, int ch, size_t len){	void	*m = mem;	size_t	l;	UW	c;	c = (UB)ch;	c |= (c << 8U);	c |= (c << 16U);	l = (unsigned)m & BOUND_4B_MSK;	if ( l > 0 ) {		l = 4U - l;		if ( l > len ) {			l = len;		}		len -= l;		while ( l-- > 0 ) {			*((UB*)m) = (UB)c;			m = (VP)((UB*)m + 1);		}	}	l = len >> 2U;	if ( l > 0 ) {		len &= BOUND_4B_MSK;		while ( l-- > 0 ) {			*((UW*)m) = c;			m = (VP)((UW*)m + 1);		}	}	while ( len-- > 0 ) {		*((UB*)m) = (UB)c;		m = (VP)((UB*)m + 1);	}	return mem;}

⌨️ 快捷键说明

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