2013-07-08 :-(
_ 午後
1300 ガジェット
_ [NetBSD][memcpy][memmove][bcopy]NetBSD memcpy
memcopy の実装が libc/string に無い。マニュアルしかない。
ググったら src/common の下らしい。
CVS log for src/common/lib/libc/string/memcpy.c
/* $NetBSD: memcpy.c,v 1.1 2005/12/20 19:28:52 christos Exp $ */ #define MEMCOPY #include "bcopy.c"
続きは bcopy で
CVS log for src/common/lib/libc/string/bcopy.c
これが実体。速いけどデカい版と、小さいけど遅い版がある。
速いほうはメモリのブロック単位で処理する。
小さいほうは、お馴染みのこんなコード。K&R にもある実装なんだっけ。
/*
* This is designed to be small, not fast.
*/
void *
memcpy(void *s1, const void *s2, size_t n)
{
const char *f = s2;
char *t = s1;
while (n-- > 0)
*t++ = *f++;
return s1;
}
[ツッコミを入れる]



