以下是对内存拷贝函数的实现:
void *memcpy(void *dest, const void *src, size_t n)
{
assert(dest != NULL && src != NULL);
if(dest == src)
return dest;
else if(dest < src)
{
const byte *c_src = (const byte *)src;
byte *c_dest = (byte *)dest;
while (n--)
*c_dest++ = *c_src++;
}
else
{
const byte *c_src = (const byte *)(src )+ n - 1;
byte *c_dest = (byte *)(dest) + n - 1;
while (n--)
*c_dest-- = *c_src--;
}
return dest;
}