C语言实现32位机的memcpy函数
void * memcpy(void * dst, void const * src, size_t len)
{
long * plDst = (long *) dst;
long const * plSrc = (long const *) src;
if (!(src & 0x03) && !(dst & 0x03)) //判断内存对齐(4的位数)
{
while (len >= 4)
{
*plDst++ = *plSrc++;
len -= 4;
}
}
unsigned char * pcDst = (unsigned char *) plDst;
unsigned char const * pcDst = (unsigned char const *) plSrc;
while (len--)
{
*pcDst++ = *pcSrc++;
}
return (dst);
}