我理解这一点memmove,memcpy不同之处在于memmove处理内存重叠情况。我检查了 libgcc 中的实现,并从 intel 网站获得了这篇文章[memcpy performance] 。
在 libgcc 中,与memmove类似memcpy,都是一个字节一个字节,所以优化后性能应该差不多。
有人对此进行了测量,并得到了这篇文章memcopy、memmove 和 Speed over Safety。即使我不认为memmove可以比 快memcpy,但至少在Intel平台上应该没有太大区别。
那么在什么平台以及如何,memcpy可以明显快于memmove,如果没有,为什么提供两个类似的功能而不是仅仅提供两个类似的功能memmove,并导致很多错误。
编辑:我不是在问 memmove 和 memcpy 的区别,我知道 memmove 可以处理重叠问题。问题是真的有什么平台 memcpy 比 memmove 快吗?