memzero.c

来自「Hermit-at-1.1.3,一款bootloader」· C语言 代码 · 共 46 行

C
46
字号
#include "memzero.h"/* optimized C memzero for the ARM */void memzero(void *s, unsigned n){	union { void *vp; unsigned long *ulp; unsigned char *ucp; } u;	int i;	u.vp = s;	for (i = n >> 5; i > 0; i--) {		*u.ulp++ = 0;		*u.ulp++ = 0;		*u.ulp++ = 0;		*u.ulp++ = 0;		*u.ulp++ = 0;		*u.ulp++ = 0;		*u.ulp++ = 0;		*u.ulp++ = 0;	}	if (n & 1 << 4) {		*u.ulp++ = 0;		*u.ulp++ = 0;		*u.ulp++ = 0;		*u.ulp++ = 0;	}	if (n & 1 << 3) {		*u.ulp++ = 0;		*u.ulp++ = 0;	}	if (n & 1 << 2)		*u.ulp++ = 0;	if (n & 1 << 1) {		*u.ucp++ = 0;		*u.ucp++ = 0;	}	if (n & 1)		*u.ucp++ = 0;}

⌨️ 快捷键说明

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