⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memmove.c

📁 linux内核
💻 C
字号:
/* * memmove.c */#include <string.h>void *memmove(void *dst, const void *src, size_t n){  const char *p = src;  char *q = dst;#if defined(__i386__) || defined(__x86_64__)  if ( q < p ) {    asm volatile("cld ; rep ; movsb" : "+c" (n), "+S" (p), "+D" (q));  } else {    p += (n-1);    q += (n-1);    asm volatile("std ; rep ; movsb" : "+c" (n), "+S" (p), "+D" (q));  }#else  if ( q < p ) {    while ( n-- ) {      *q++ = *p++;    }  } else {    p += n;    q += n;    while ( n-- ) {      *--q = *--p;    }  }#endif  return dst;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -