自己實(shí)現(xiàn)的memcpy
沒有考慮目標(biāo)和源地址可能重復(fù)的情況,不知道除了這個(gè)方法之外不用匯編等方式還有沒有更快的方法?至少我目前是想不出來:)
void *my_memcpy(void *dst, void* src, int size)
{
int len = sizeof(long);
long *pdst = (long*)dst;
long *psrc = (long*)src;
for (; size >= len; ++pdst, ++psrc, size -= len)
{
*pdst = *psrc;
}
for (len = size, size = 0; size < len; ++size)
{
*((char*)pdst + size) = *((char*)psrc + size);
}
return dst;
}
int main()
{
char src[] = "hello", dst[10] = {'\0'};
my_memcpy(dst, src, 5);
printf("dst = %s\n", dst);
return 0;
}
相關(guān)推薦:
2010年9月計(jì)算機(jī)等級(jí)考試成績(jī)查詢時(shí)間匯總
2011年計(jì)算機(jī)等級(jí)考試二級(jí)C++輔導(dǎo)筆記匯總
2011年上半年計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間匯總
2011計(jì)算機(jī)等級(jí)考試二級(jí)C++輔導(dǎo)實(shí)例編程匯總