memset.c

来自「Linux Kernel 2.6.9 for OMAP1710」· C语言 代码 · 共 48 行

C
48
字号
#include <linux/types.h>void * memset(void * s, int c, size_t count){  void *xs = s;  size_t temp;  if (!count)    return xs;  c &= 0xff;  c |= c << 8;  c |= c << 16;  if ((long) s & 1)    {      char *cs = s;      *cs++ = c;      s = cs;      count--;    }  if (count > 2 && (long) s & 2)    {      short *ss = s;      *ss++ = c;      s = ss;      count -= 2;    }  temp = count >> 2;  if (temp)    {      long *ls = s;      for (; temp; temp--)	*ls++ = c;      s = ls;    }  if (count & 2)    {      short *ss = s;      *ss++ = c;      s = ss;    }  if (count & 1)    {      char *cs = s;      *cs = c;    }  return xs;}

⌨️ 快捷键说明

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