Chinaunix首页 | 论坛 | 博客
  • 博客访问: 454648
  • 博文数量: 98
  • 博客积分: 6011
  • 博客等级: 准将
  • 技术积分: 1030
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-23 13:19
文章分类

全部博文(98)

文章存档

2011年(2)

2009年(2)

2008年(31)

2007年(35)

2006年(28)

我的朋友

分类:

2007-09-20 19:39:55

void* mymemcpy( void* dest, const void* src, size_t count )
{
    char* d = (char*)dest;
    const char* s = (const char*)src;
    int n = (count + 7) / 8; // count > 0 assumed

    switch( count & 7 )
    {
    case 0:  do {  *d++ = *s++;
    case 7:        *d++ = *s++;
    case 6:        *d++ = *s++;
    case 5:        *d++ = *s++;
    case 4:        *d++ = *s++;
    case 3:        *d++ = *s++;
    case 2:        *d++ = *s++;
    case 1:        *d++ = *s++;
               } while (--n > 0);
    }

    return dest;
}
这样也行,真是长见识了~_~
哪位大牛解释下???

阅读(1072) | 评论(1) | 转发(0) |
0

上一篇:pku acm 3378 Crazy Thairs

下一篇:准大三学生...

给主人留下些什么吧!~~

chinaunix网友2008-10-15 01:50:02

和coroutine的思想类似,google一下就明白了。