《C语言之memcpy的实现》
memcpy的实现方式是当满足四字节对齐时,进行四字节的拷贝,不满足时进行单字节的拷贝。例如拷贝10个字节,循环两次拷贝四字节,在循环两次拷贝一字节。
void* AnKun_Memcpy(void* _dst, const void* const _src, uint32_t len)
{
uint32_t uiWordCnt = len / 4;
uint32_t uiCharCnt = len % 4;
int* iptrDst = (int *)_dst;
int* iptrSrc = (int *)_src;
while (uiWordCnt--)
{
*iptrDst++ = *iptrSrc++;
}
while (uiCharCnt--)
{
*((char *)iptrDst++) = *((char *)iptrSrc++);
}
return _dst;
}
end