大佬教程收集整理的这篇文章主要介绍了在memcpy中对齐源地址和目标地址,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
void memcpy(void *dst,void *src,int sizE) { if(size >= 8) { while(size/8) /* code will give sigbus error if src = 0x10003 and dst = 0x100000 */ { *((double*)dst)++ = *((double*)srC)++; size = size - 8; } } while(size--) { *((char*)dst)++ = *((char*)srC)++; } }
我发现这篇关于memcpy优化的文章,我相信它会讨论你想要做的事情…(参见下面的代码示例链接)
@H_821_9@modified-GNU算法:
void * memcpy(void * dst,void const * src,size_t len) { long * plDst = (long *) dst; long const * plSrc = (long const *) src; if (!(src & 0xFFFFFFFC) && !(dst & 0xFFFFFFFC)) { while (len >= 4) { *plDst++ = *plSrc++; len -= 4; } } char * pcDst = (char *) plDst; char const * pcDst = (char const *) plSrc; while (len--) { *pcDst++ = *pcSrc++; } return (dst); }
以上是大佬教程为你收集整理的在memcpy中对齐源地址和目标地址全部内容,希望文章能够帮你解决在memcpy中对齐源地址和目标地址所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。