memcpy.c

来自「底层驱动开发」· C语言 代码 · 共 45 行

C
45
字号
#include <linux/config.h>#include <linux/string.h>#include <linux/module.h>#undef memcpy#undef memsetvoid *memcpy(void *to, const void *from, size_t n){#ifdef CONFIG_X86_USE_3DNOW	return __memcpy3d(to, from, n);#else	return __memcpy(to, from, n);#endif}EXPORT_SYMBOL(memcpy);void *memset(void *s, int c, size_t count){	return __memset(s, c, count);}EXPORT_SYMBOL(memset);void *memmove(void *dest, const void *src, size_t n){	int d0, d1, d2;	if (dest < src) {		memcpy(dest,src,n);	} else {		__asm__ __volatile__(			"std\n\t"			"rep\n\t"			"movsb\n\t"			"cld"			: "=&c" (d0), "=&S" (d1), "=&D" (d2)			:"0" (n),			 "1" (n-1+(const char *)src),			 "2" (n-1+(char *)dest)			:"memory");	}	return dest;}EXPORT_SYMBOL(memmove);

⌨️ 快捷键说明

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