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;
}
[ツッコミを入れる]








