memcpy和memmove的区别
来源:互联网 发布:动态导入java 编辑:程序博客网 时间:2024/05/22 14:15
memcpy和memmove的区别就是:
memcpy不支持目标和源内存区域重叠
memmove则支持
#ifndef __HAVE_ARCH_MEMCPY/** * memcpy - Copy one area of memory to another * @dest: Where to copy to * @src: Where to copy from * @count: The size of the area. * * You should not use this function to access IO space, use memcpy_toio() * or memcpy_fromio() instead. */void *memcpy(void *dest, const void *src, size_t count){char *tmp = dest;const char *s = src;while (count--)*tmp++ = *s++;return dest;}EXPORT_SYMBOL(memcpy);#endif#ifndef __HAVE_ARCH_MEMMOVE/** * memmove - Copy one area of memory to another * @dest: Where to copy to * @src: Where to copy from * @count: The size of the area. * * Unlike memcpy(), memmove() copes with overlapping areas. */void *memmove(void *dest, const void *src, size_t count){char *tmp;const char *s;if (dest <= src) {tmp = dest;s = src;while (count--)*tmp++ = *s++;} else {tmp = dest;tmp += count;s = src;s += count;while (count--)*--tmp = *--s;}return dest;}EXPORT_SYMBOL(memmove);#endif
因此,在不确定拷贝内存区域是否重叠时,最好用memmove。
- memcpy和memmove的区别
- memcpy和memmove的区别
- memcpy和memmove的区别
- memmove 和 memcpy的区别
- memcpy和memmove的区别
- memcpy和memmove的区别
- memcpy和memmove的区别
- memcpy和memmove的区别
- memcpy和memmove的区别
- memcpy和memmove的区别
- memcpy和memmove的区别
- memcpy和memmove的区别
- memcpy和memmove的区别
- memcpy和memmove的区别
- memmove和memcpy的区别
- memcpy和memmove的区别
- memcpy和memmove的区别
- memcpy()和memmove()的区别
- php--rc4加密解密
- java缓存的简单实现
- 通过服务更新进度通知&在Activity中监听服务进度
- 中文字符编码和通用编码
- 自定义标签(二)
- memcpy和memmove的区别
- 在一台机器上安装两个tomcat
- JSP的隐式对象
- Delphi读取和写入utf-8编码格式的文件
- 《 Java与多媒体 》
- delphi 让ScrollBox响应鼠标滚轮事件
- sicily 1325
- EL表达式
- 由后台服务向Activity发送进度信息